Estou desenvolvendo REST API usando quarkus-rest
implementação do Jakarta REST (anteriormente conhecido como JAX-RS). Também uso quarkus-smallrye-openapi
extensão para gerar minha especificação de API (OpenAPI v3).
Como posso preencher os campos: resumo e descrição de um objeto Path Item usando anotações ou de outra forma (sem escrita manual de especificações)?
Não há realmente uma maneira de fazer isso usando as anotações padrão. Você tem algumas opções envolvendo o arquivo OpenAPI estático ou implementando um
OASFilter
para adicionar o resumo e/ou descrição.OpenAPI estático
Colocando um
openapi.yaml
ouopenapi.json
emMETA-INF
(dentrosrc/main/resources
de projetos Maven), você pode definir apenas opaths
e suas descrições que lhe interessam. Este arquivo será mesclado com o resultado da varredura de anotação.OASFilter
ImplementaçãoEscreva uma implementação de
org.eclipse.microprofile.openapi.OASFilter
e configure-a definindo o nome da classe totalmente qualificado como o valor de propertymp.openapi.filter
. Você pode substituir methodfilterPathItem
com qualquer lógica que desejar para definir as propriedades. Por exemplo, você pode procurá-las em config properties obtendo primeiro umConfig
deConfigProvider
.Você pode fazer algo assim com anotações:
ou você pode mesclar/estender/enriquecer a especificação openapi gerada colocando um openapi.yaml em resources/META-INF.
Nos itens do caminho, faça isto: