Как использовать аннотацию @Api swagger в классе подресурсов? - PullRequest
0 голосов
/ 31 марта 2020

В моем проекте у меня есть некоторые подресурсы, правильно реализованные в соответствии с руководящими принципами структуры Джерси.

Однако у меня возникла проблема при создании файла 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, все работает правильно, но я вынужден применять операцию свойств к операции.

Есть предложения?

...