#java #rest
#java #rest
Вопрос:
Проект 1 —> сборка jar Проект 2—> сборка jar
Проект 2 имеет зависимость от project1.
Теперь мы просто запускаем проект 2 локально, а затем вызываем API, написанный в проекте 1. Но доступа к API не происходит.
Есть идеи, чего мне может не хватать.Поиск в Google не сильно помог.
Проект A имеет rest api, настроенный следующим образом
@Path("/mytest")
public interface myApi {
@PUT
@Path("/create")
void create(MyModelmodel);
}
Реализован как
@Component
public class myApService implements myApi {
@Autowired
public myClient myClient;
@Override
public void create(MyModel model) {
myClient.createazureworkspace(model);
}
}
Добавлен проект 1 в качестве jar зависимости в pom проекта 2
<dependency>
<groupId>com.xxxx</groupId>
<artifactId>project a</artifactId>
<version>1.0.0</version>
</dependency>
Теперь, когда я вызываю http://localhost:8080/mytest/create он даже не попадает в api
Попытался добавить приведенный ниже код в проект 2
@Configuration
@ComponentScan(basePackages ="com.basepack.projectA")
public class AppConfig {
}
Но это тоже не сработало
Комментарии:
1. Покажите несколько примеров кода. Как вы подключаетесь к REST API? Зарегистрирован ли этот запрос? какие журналы Слишком много вопросов здесь, чтобы помочь вам
2. Работает ли API на веб-сервере? И доступен ли он через ваш браузер? Также убедитесь, что вы экспортировали project 1 в свою сборку project 2
3. Если проект A предоставляет REST API, его следует развернуть отдельно. Таким образом, проект B имеет семантическую, но не синтаксическую зависимость от A.
4. » Пример кода -> извините, не могу вставить » — Тогда мы не сможем помочь.
5. Опять же: нет кода, нет помощи. Мы не можем отлаживать то, чего не видим. Если у вас есть какой-то NDA, обсудите эту проблему с кем-нибудь, кому разрешено ее видеть.
Ответ №1:
Наконец-то удалось заставить его работать!
- Одной из проблем было отсутствие
@Service
в реализации. - Имена пакетов были переработаны.
- Порт, который я вызывал, отличался от того, на котором он запускался.
Помог просмотр журналов запуска.
Теперь вызов api
работает.
Комментарии:
1. какой смысл добавлять jar. Вы пытаетесь создать микросервис
2. Проект 2 является микросервисом.проект 1 — нет.
3. Причина в том, что только проект 2 предназначен для развертывания. проект 1 будет просто его зависимостью.