В моем проекте у меня есть некоторые подресурсы, правильно реализованные в соответствии с руководящими принципами структуры Джерси.
Однако у меня возникла проблема при создании файла openapi. json (сгенерированного swagger-maven- плагин). В частности, я хотел бы иметь возможность использовать аннотацию @Api
swagger для классов, которые реализуют подресурсы, для применения некоторых свойств, таких как полномочия.
Проблема заключается в том, что если я использую @Api В аннотации к классам подресурсов swagger рассматривает эти классы не только как подресурсы, но и как ресурсы. В результате в файле openapi. json для каждого подресурса создается один и тот же ресурс (которого не должно быть).
Ресурс root:
@Path("root")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
@Api(value = "/root", authorizations = {
@Authorization(value = "auth", scopes = {})
})
public class ExperienceResource {
@Path("/sub_a")
public SubResourceA getSubA() {
return new SubResourceA();
}
@Path("/sub_b")
public SubResourceB getSubB() {
return new SubResourceB();
}
}
Подресурс:
@Api(authorizations = {
@Authorization(value = "auth", scopes = {})
})
public class SubResourceA {
@GET
...
}
Я также пытался использовать @Api(value="")
или @Api(value="sub_a")
, но они не работают и не ухудшают ситуацию. Очевидно, что если я удаляю аннотацию @Api, все работает правильно, но я вынужден применять операцию свойств к операции.
Есть предложения?