Quarkus: развертывание пользовательского расширения rest

#resteasy #quarkus

#resteasy #quarkus

Вопрос:

Я новичок в Quarkus, я написал расширение, которое предоставляет rest API, давайте назовем его /myapi .

 @Path("/myapi")
public class MyApi {

  @Inject
  private ServiceInterface someService; //provided by the app that uses the extension

  @POST
  public MyResponse processMessage(MyMessage message) {
    return someService.processMessage(message);
  }

}
 

Идея заключается в том, что расширения будут предоставлять ресурсы rest, необходимые приложению (приложениям), а приложение обеспечивает бизнес-логику.

Итак, я создал проект Quarkus, который использует это расширение и предоставляет компонент, который реализует ServiceInterface бизнес-логику.

Но, когда я запускаю приложение, конечная /myapi точка не создается, и когда я ее вызываю, она возвращает a 404 .

Вопрос в том, как я могу сделать ресурс rest, определенный в расширении, видимым для приложения, которое его использует?

Ответ №1:

Я, наконец, придумал это решение:

  @BuildStep
  void addDominoApi(BuildProducer<AdditionalBeanBuildItem> additionalBeans) {
    additionalBeans.produce(AdditionalBeanBuildItem.unremovableOf(MyApi.class));
  }

 

Добавление MyApi к дополнительным компонентам