Java 在Swagger ApiAuthorizationFilter中访问@ApiOperation属性

Java 在Swagger ApiAuthorizationFilter中访问@ApiOperation属性,java,scala,jax-rs,swagger,Java,Scala,Jax Rs,Swagger,我有一个Jax-rswebservice,我使用Swagger记录它。现在我想检查每个方法的@ApiOperation注释中的参数,以进行一些过滤 @GET @ApiOperation(value = "a description", response = String.class, hidden=true) public static Response get(){} 我根据以下示例创建了一个ApiAuthorizationFilterImpl: 我重写了等操作降低方法: public b

我有一个Jax-rswebservice,我使用Swagger记录它。现在我想检查每个方法的@ApiOperation注释中的参数,以进行一些过滤

@GET
@ApiOperation(value = "a description", response = String.class, hidden=true)
public static Response get(){}
我根据以下示例创建了一个ApiAuthorizationFilterImpl:

我重写了等操作降低方法:

public boolean isOperationAllowed(Operation operation, ApiDescription api, Map<String, List<String>> params, Map<String, String> cookies, Map<String, List<String>> headers) {

       System.out.println("params: "+params.keySet()); //<--params is empty
}
@Override
public boolean isOperationAllowed( Operation operation, ApiDescription api, Map< String , List< String >> params, Map< String , String > cookies, Map< String , List< String >> headers ) {

    scala.collection.immutable.List< Parameter > paramList = operation.parameters();

    for ( int i = 0; i < paramList.length(); i++ ) {

        Parameter myparam = paramList.apply( i );

        if ( myparam.paramAccess().isDefined() && myparam.paramAccess().get().equals( "private" ) ) {
            return false;
        }
        else {
            return true;
        }
    }
}
public boolean isOperationAllowed(操作操作、ApiDescription api、映射参数、映射cookie、映射头){

System.out.println(“params:+params.keySet());//我认为我的问题有点不精确,所以我将关闭它。 我在尝试访问@ApiOperation属性时犯了一个错误,但是读取了@ApiParams


为了澄清我的实际需要,我打开了一个单独的问题。

下面是一个示例代码,用于访问isOperationAllowed方法中的Scala参数:

public boolean isOperationAllowed(Operation operation, ApiDescription api, Map<String, List<String>> params, Map<String, String> cookies, Map<String, List<String>> headers) {

       System.out.println("params: "+params.keySet()); //<--params is empty
}
@Override
public boolean isOperationAllowed( Operation operation, ApiDescription api, Map< String , List< String >> params, Map< String , String > cookies, Map< String , List< String >> headers ) {

    scala.collection.immutable.List< Parameter > paramList = operation.parameters();

    for ( int i = 0; i < paramList.length(); i++ ) {

        Parameter myparam = paramList.apply( i );

        if ( myparam.paramAccess().isDefined() && myparam.paramAccess().get().equals( "private" ) ) {
            return false;
        }
        else {
            return true;
        }
    }
}

这是我一直在寻找的东西。谢谢。但我不得不使用它有点不同:@apimplicitparams(value={@apimplicitparam(access=”“)})。