标签:访问 ken author 进入 detail 必须 ade blog 保密
上一章节我们说的是swaggerfox-swagger也就是swagger2,因为章节太长我讲解的是原生态的,接下来我们说的是swagger2优化版
Swagger是当前最好用的Restful API文档生成的开源项目,随着swagger的越来越流行,原生的swagger2已经不能满足实际的需求了。所以为了适应项目的需要,可以对swagger2进行适当优化。
为保证项目安全性和保密性通常我们的接口都是带有token身份认证的
但是token怎么办呢?必须要在每一个请求的header都加上token。
通过输入http://localhost:8080/项目跟路径/swagger-ui.html直接可以访问自己的页面。我的是http://localhost:8080/springfox_springmvc/swagger-ui.html
因为页面是封装好的,所以后缀swagger-ui.html是不变的
上一章节我们配置好原生的swagger2以后,只需要在config中修改如上代码就行了.
这样在调用接口的时候,每个接口都需要x-access-token验证,如果验证不通过则无法调用接口,这样就不用,每次接口传参的时候都得传x-access-token,当然验证得在接口里写,这个就不用我多说了吧,如果有不明白的,可以留言评论。
当然如果仅仅是token验证,博主其实不建议用这个优化,因为这个每次都得调用接口输入token太麻烦,其实token输入一次就行了。
其实token一般情况下只需要进行一次验证,同一个项目token应该是一样的,上一个方式其实不适合token验证,因为每次调用接口都需要输入token,所以就有了下面的优化方式二。
通过输入http://localhost:8080/项目跟路径/swagger-ui.html直接可以访问自己的页面。我的是http://localhost:8080/springfox_springmvc/swagger-ui.html
因为页面是封装好的,所以后缀swagger-ui.html是不变的
上一章节我们配置好原生的swagger2以后,只需要在config中修改如上代码就行了.
通过Swagger2的securitySchemes配置全局参数:如下列代码所示,securitySchemes的ApiKey中增加一个名为“Authorization”,type为“header”的参数。
在Swagger2的securityContexts中通过正则表达式,设置需要使用参数的接口(或者说,是去除掉不需要使用参数的接口),如下列代码所示,通过PathSelectors.regex("^(?!auth).*$"),所有包含"auth"的接口不需要使用securitySchemes。即不需要使用上文中设置的名为“Authorization”,type为“header”的参数
设置完成后进入SwaggerUI,右上角出现“Authorization”按钮,点击即可输入我们配置的参数。
对于不需要输入参数的接口(上文所述的包含auth的接口),在未输入Authorization参数就可以访问。
其他接口则将返回401错误。点击右上角“Authorization”按钮,输入配置的参数后即可访问。参数输入后全局有效,无需每个接口单独输入。
这样在只需输入一次token验证,如果验证不通过则无法调用接口,,当然验证得在接口里写,这个就不用我多说了吧,如果有不明白的,可以留言评论。
https://blog.csdn.net/qq_25814003/article/details/82017668
标签:访问 ken author 进入 detail 必须 ade blog 保密
原文地址:https://www.cnblogs.com/kkxwze/p/12517334.html