加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – 如何在swagger中隐藏参数?

发布时间:2020-12-16 18:44:04 所属栏目:安全 来源:网络整理
导读:有没有人成功隐藏生成的文档中的参数?我发现了一个问题 here,但在@HeaderParam之前似乎没有使用@ApiParam(access =“internal”,required = false). 解决方法 好的,看单元测试有帮助.首先,您需要定义一个过滤器: import com.wordnik.swagger.core.filter.S
有没有人成功隐藏生成的文档中的参数?我发现了一个问题 here,但在@HeaderParam之前似乎没有使用@ApiParam(access =“internal”,required = false).

解决方法

好的,看单元测试有帮助.首先,您需要定义一个过滤器:

import com.wordnik.swagger.core.filter.SwaggerSpecFilter
import com.wordnik.swagger.model.{Parameter,ApiDescription,Operation}
import java.util

class MySwaggerSpecFilter extends SwaggerSpecFilter{
  override def isOperationAllowed(operation: Operation,api: ApiDescription,params: util.Map[String,util.List[String]],cookies: util.Map[String,String],headers: util.Map[String,util.List[String]]): Boolean = true

  override def isParamAllowed(parameter: Parameter,operation: Operation,util.List[String]]): Boolean = {
    if(parameter.paramAccess == Some("internal")) false
    else true
  }
}

然后在web.xml中启用它

<servlet>
        <servlet-name>DefaultJaxrsConfig</servlet-name>
        <servlet-class>com.wordnik.swagger.jaxrs.config.DefaultJaxrsConfig</servlet-class>
        ...
        <init-param>
            <param-name>swagger.filter</param-name>
            <param-value>com.example.MySwaggerSpecFilter</param-value>
        </init-param>
    </servlet>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读