вызов rest API в проекте A, который добавлен как зависимость jar к проекту B

#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:

Наконец-то удалось заставить его работать!

  1. Одной из проблем было отсутствие @Service в реализации.
  2. Имена пакетов были переработаны.
  3. Порт, который я вызывал, отличался от того, на котором он запускался.

Помог просмотр журналов запуска.

Теперь вызов api работает.

Комментарии:

1. какой смысл добавлять jar. Вы пытаетесь создать микросервис

2. Проект 2 является микросервисом.проект 1 — нет.

3. Причина в том, что только проект 2 предназначен для развертывания. проект 1 будет просто его зависимостью.