Пока что
Я пытаюсь запустить реактивную службу REST, следуя официальному руководству , используя RESTEasy и JSON -B. Я также добавил поддержку OpenAPI для тестирования службы, следуя этому руководству .
Обе части работают самостоятельно, служба правильно возвращает жестко закодированные демонстрационные данные. Пользовательский интерфейс Swagger показывает доступные маршруты и позволяет их вызывать.
Однако это не так гладко, как мне бы хотелось ...
Из простых, нереактивных маршрутов, схем были правильно извлечены:
Fruit:
type: object
properties:
description:
type: string
name:
type: string
Но из реактивных маршрутов были извлечены пустые схемы. Например, введение
@GET
@Path("/{name}")
public Uni<Fruit> getOne(@PathParam(value = "name") String name) {
}
привело к схеме:
UniFruit:
type: object
Есть ли способ повторно использовать существующую схему Fruit
?
Я пытался комментируя маршрут, но это не имело никакого эффекта:
@GET
@Path("/{name}")
// @Schema(ref = "#/components/schemas/Fruit") // Nope...
// @Schema(ref = "Fruit") // Nope...
public Uni<Fruit> getOne(@PathParam(value = "name") String name) {
}
В идеале, я бы не хотел аннотировать каждый реактивный метод отдельно в любом случае.
Вопрос
Есть ли способ настроить для всего проекта использовать схему T
всякий раз, когда маршрут возвращает Uni<T>
или Multi<T>
?