查询类网站怎么做,湖南长沙旅游攻略,注册城乡规划师报考专业一览表,东莞房价官方文档配置权限#xff1a;https://doc.xiaominfo.com/v2/documentation/accessControl.html#_3-5-1-%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83%E5%B1%8F%E8%94%BD%E8%B5%84%E6%BA%90
通常有时候我们碰到的问题如下#xff1a; 在开发Knife4j功能时,同很多开发者经常讨论的问…官方文档配置权限https://doc.xiaominfo.com/v2/documentation/accessControl.html#_3-5-1-%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83%E5%B1%8F%E8%94%BD%E8%B5%84%E6%BA%90
通常有时候我们碰到的问题如下 在开发Knife4j功能时,同很多开发者经常讨论的问题就是在生产环境时,屏蔽或者去除Swagger的文档很麻烦
系统部署生产环境时,我们想屏蔽Swagger的文档功能,不管是接口或者html文档 通常我们有时候需要生产环境部署后,又需要Swagger的文档调试功能,辅助开发者调试,但是存在安全隐患,没有对Swagger的资源接口过滤 等等 针对以上两种情况,Knife4j基于Servlet体系提供了过滤Filter功能,如果开发者使用Spring Boot开发框架进行开发的话,只需在application.properties或者application.yml配置文件中配置相关属性即可方便的解决上面的问题,不用删除Springfox-swagger的jar包或者删除相关代码等复杂的操作,提升开发体验。 当我们部署系统到生产系统,为了接口安全,需要屏蔽所有Swagger的相关资源。
项目的pom.xml中引入Knife4j的依赖包代码如下
dependencygroupIdcom.github.xiaoymin/groupIdartifactIdknife4j-spring-boot-starter/artifactIdversion2.0.9/version
/dependency如果使用SpringBoot框架,只需在application.properties或者application.yml配置文件中配置
knife4j:# 开启增强配置 enable: true# 开启生产环境屏蔽production: true配置此属性后,所有资源都会屏蔽输出.
后面发现禁用以后通过 依旧还能访问拿到json文件。 可能是个bug。
http://localhost:8080/v2/;/api-docs?group2.X%E7%89%88%E6%9C%AC
后面发现只需要在配置类加上。.enable(false) 即可完全禁用。
Configuration
EnableSwagger2WebMvc
public class Knife4jConfiguration {Bean(value defaultApi2)public Docket defaultApi2() {Docket docketnew Docket(DocumentationType.SWAGGER_2).apiInfo(new ApiInfoBuilder()//.title(swagger-bootstrap-ui-demo RESTful APIs).description(# swagger-bootstrap-ui-demo RESTful APIs).termsOfServiceUrl(http://www.xx.com/).contact(xxqq.com).version(1.0).build()).enable(false)//分组名称.groupName(2.X版本).select()//这里指定Controller扫描包路径.apis(RequestHandlerSelectors.basePackage(com.github.xiaoymin.knife4j.controller)).paths(PathSelectors.any()).build();return docket;}
}