当前位置:   article > 正文

使用knife4j遇到的坑_knife4j漏洞

knife4j漏洞

1.knife4j是什么?

knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案
赶紧放弃swagger的ui界面吧!

2.使用方式

//引入依赖
   	  <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-spring-boot-starter</artifactId>
            <!--在引用时请在maven中央仓库搜索最新版本号-->
            <version>2.0.2</version>
        </dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

swaggerConfig加入如下配置:

@Bean
    public Docket createRestApi() {
        //设置knife文档的全局参数请求头
        List<Parameter> headerList = new ArrayList<>();
        // 語種參數
        ParameterBuilder languageTicketPar = new ParameterBuilder();
        languageTicketPar.name("Accept-Language").description("語種信息,默認為zh-MO(中文繁體)").scalarExample("zh-MO")
            .modelRef(new ModelRef("string")).parameterType("header")
            .required(false).build();
        headerList.add(languageTicketPar.build());

        return new Docket(DocumentationType.SWAGGER_2)
            .globalOperationParameters(headerList)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.any())
                .paths(PathSelectors.any())
                .build();
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

效果图:
在这里插入图片描述

3.遇到的坑

postman调用接口返回正常,knife4j调用失败.
着重注意这个请求头
Cookie:SESSION=NzFmZjQzNTYtMmVlZS00ZWI3LTg0MWQtMGViZTViNDk3OTJj
在这里插入图片描述
这个请求头在postman中是正常的,但是在knife4j调用的时候,浏览器使用的Cookie值缺发生了变化,使用了旧的缓存的cookie.
解决方案:按F12,点击应用程序,找到存储->Cookie->右边选择编辑"value",修改值为正确的值即可.

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/891317
推荐阅读
相关标签
  

闽ICP备14008679号