Java Swagger openapi:openapi.yaml/Swagger ui中的过滤方法

Java Swagger openapi:openapi.yaml/Swagger ui中的过滤方法,java,jersey-2.0,openapi,swagger-2.0,Java,Jersey 2.0,Openapi,Swagger 2.0,我已将Jersey REST服务文档升级为swagger openapi v3 现在,我想介绍一种通过用户授权对方法进行过滤的方法,以便在swagger ui/openapi.yaml文档中只显示特定的API方法。 最接近我的是使用一个过滤器类ApiAuthorizationFilterImpl,它扩展了io.swagger.v3.core.filter.AbstractSpecFilter public class ApiAuthorizationFilterImpl extends Abst

我已将Jersey REST服务文档升级为swagger openapi v3

现在,我想介绍一种通过用户授权对方法进行过滤的方法,以便在swagger ui/openapi.yaml文档中只显示特定的API方法。 最接近我的是使用一个过滤器类ApiAuthorizationFilterImpl,它扩展了io.swagger.v3.core.filter.AbstractSpecFilter

public class ApiAuthorizationFilterImpl extends AbstractSpecFilter {
    
    @Override
    public Optional<Operation> filterOperation(
            Operation operation,
            ApiDescription api,
            Map<String, List<String>> params,
            Map<String, String> cookies,
            Map<String, List<String>> headers) {

            System.out.println("Operation filter is being executed");
            return Optional.of(operation);
}
由于这似乎也没有执行过滤器,我想知道如何添加openapi方法的过滤以显示在openapi.yaml/swagger ui中(使用AbstractSpecFilter或其他方式)

<servlet>
    <servlet-name>Jersey Web Application</servlet-name>
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
    <init-param>
      <param-name>jersey.config.server.provider.packages</param-name>
      <param-value>io.swagger.v3.jaxrs2.integration.resources</param-value>
    </init-param>    
    <init-param>
      <param-name>jersey.config.server.provider.classnames</param-name>
      <param-value>com.mapchart.core.ws.swagger.ApiAuthorizationFilterImpl</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
prettyPrint: true
cacheTTL: 0
filterClass: ApiAuthorizationFilterImpl
openAPI:
  info:
    version: '1.0.0'
    title: 'OpenAPI documentation'
  servers:
    - url: '/my-rest-service'