赞
踩
knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案
赶紧放弃swagger的ui界面吧!
//引入依赖
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<!--在引用时请在maven中央仓库搜索最新版本号-->
<version>2.0.2</version>
</dependency>
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(); }
效果图:
postman调用接口返回正常,knife4j调用失败.
着重注意这个请求头
Cookie:SESSION=NzFmZjQzNTYtMmVlZS00ZWI3LTg0MWQtMGViZTViNDk3OTJj
这个请求头在postman中是正常的,但是在knife4j调用的时候,浏览器使用的Cookie值缺发生了变化,使用了旧的缓存的cookie.
解决方案:按F12,点击应用程序,找到存储->Cookie->右边选择编辑"value",修改值为正确的值即可.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。