swagger可以在线生成接口文档,便于前后端沟通,而且还可以在线调用接口,方便后台调试。但是接口需要经过登录校验,部分接口还需要得到登录token,使用token识别用户身份进行后续操作。这种情况下,都需要接口增加header,好携带认证信息。
swagger2和swagger3有很大不同,平台选用的是swagger3。网上很多解决方案都是swagger2的,采用时一定看好自己的版本。无论2或3基本都是改配置类:
第一步 new Docket这里要加上
.securitySchemes(securitySchemes()) .securityContexts(securityContexts());
其中:
private List<SecurityScheme> securitySchemes() { //设置请求头信息 List<SecurityScheme> result = new ArrayList<>(); ApiKey apiKey = new ApiKey("qlm-jwt", "qlm-jwt", "header"); result.add(apiKey); return result; } private List<SecurityContext> securityContexts() { //设置需要登录认证的路径 List<SecurityContext> result = new ArrayList<>(); result.add(buildContext("/.*")); return result; }
第二步:启动真正的前端进行登录,在application中找到token
第三步:打开swagger_ui界面,会发现右上角多了个授权的按钮。打开录入上面的token
第四步:在线测试接口。发现可以通过接口的登录验证了
评论前必须登录!
注册