Разрабатываю приложение для отдыха.
Некоторым конечным точкам требуется настраиваемый параметр заголовка, не связанный с авторизацией. Я создал специальную аннотацию, используя jax-rs NameBinding. Вот пример использования:
@GET
@RequiresBankHeader
public int get(
@HeaderParam("bank")
@Parameter(ref = "#/components/parameters/banks")
String bank) {
return someService.getSomeInformation();
}
Есть провайдер, который перехватывает этот вызов и выполняет некоторую процедуру, используя информацию в параметре заголовка.
Проблема в том, что я должен везде повторять «@HeaderParam (bank) @Parameter (ref = # / components / parameters / banks) String bank», чтобы он отображался в Swagger, даже если классам обслуживания это не нужно. Мне удалось по крайней мере повторно использовать определение параметра с помощью ref = # / components / parameters / banks и объявить его в файле OpenAPI.yml, что Quarkus очень хорошо сливается с сгенерированным кодом.
Но я также хочу создать перехватчик для динамического добавления этого определения OpenApi всякий раз, когда присутствует аннотация RequiresBankHeader.
Есть способ сделать это?
openapi.yml
. Не уверен, можно ли сделать это так, как вы хотите, но я, вероятно, начну с этого: github.com/eclipse/microprofile-open-api/blob/master/spec/src/ - person Roberto Cortez   schedule 29.01.2021