#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
к дополнительным компонентам