900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > Swagger自动接口文档生成框架————springboot整合swagger总结

Swagger自动接口文档生成框架————springboot整合swagger总结

时间:2023-03-15 22:49:47

相关推荐

Swagger自动接口文档生成框架————springboot整合swagger总结

swagger简介:

swagger是一款开源的api接口文档生成工具。

Swagger的项目主页:https://swagger.io/ 目前比较流行的做法是在代码中加入swagger相关的注释,然后,利用小工具生成swagger.json或者swagger.yaml文件。

springboot将swagger变得更加简单:

springboot拥有自己的自动配置特性,而swagger也发布了应用于springboot的自动依赖配置模块。

也就是说,只需要在pom文件中引入swagger模块配置信息,然后在application中进行swagger框架的简单配置,即可轻松通过浏览器访问由swagger为我们生成的网页版接口说明文档。

具体步骤:

1.首先我们需要在pom.xml中加入swagger模块配置信息,将swagger模块引入到项目中:

<!-- /artifact/com.spring4all/spring-boot-starter-swagger --><dependency><groupId>com.spring4all</groupId><artifactId>spring-boot-starter-swagger</artifactId><version>1.5.1.RELEASE</version></dependency>

2.在springboot启动类中加入注解:

@EnableSwagger2Doc@SpringBootApplicationpublic class Bootstrap {public static void main(String[] args) {SpringApplication.run(Bootstrap.class, args);}}

3.加入swagger配置信息:

在网上看到有两种配置方式,一种是另起一个application.yaml,然后通过yaml语言进行配置,另一种方式是在已有的application.properties中加入配置(这里记载第二种方式):

#swagger配置信息swagger.title=yyh project online API specificationswagger.description=the web page which you opened is generated by swagger automaticallyswagger.version=1.5.0.RELEASEswagger.license=Apache License, Version 2.0swagger.licenseUrl=/licenses/LICENSE-2.0.htmlswagger.termsOfServiceUrl=/dyc87112/spring-boot-starter-swaggerswagger.contact.name=mhtswagger.contact.url=http://localhost:8080/swagger-ui.htmlswagger.contact.email=haotian.mou@swagger.base-package=com.secoswagger.base-path=/**

#配置说明:swagger.title=标题swagger.description=描述swagger.version=版本swagger.license=许可证swagger.licenseUrl=许可证URLswagger.termsOfServiceUrl=服务条款URLswagger.contact.name=维护人swagger.contact.url=维护人URLswagger.contact.email=维护人emailswagger.base-package=swagger扫描的基础包,默认:全扫描swagger.base-path=需要处理的基础URL规则,默认:/**swagger.exclude-path=需要排除的URL规则,默认:空

4.API文档效果查看:

启动项目,打开浏览器在地址栏输入如下地址即可查看生成的API文档:

http://localhost:8080/swagger-ui.html

参考文章:

《简化Swagger使用的自制Starter:spring-boot-starter-swagger,欢迎使用和吐槽》

《使用spring-boot-starter-swagger实现API文档化》

《5分钟了解swagger》

==============================-8-8 ,星期三,下午,更新==============================

Spring Boot+shiro拦截swagger路径问题解决

在shiro拦截器配置方法中,加入对swagger的开发路径即可,如下代码所示

/*** 配置shiro拦截器,用于url,粗粒度拦截* <br>作者: mht<br> * 时间:8月3日-上午10:29:07<br>* @return*/@Beanpublic ShiroFilterChainDefinition chain() {DefaultShiroFilterChainDefinition chain = new DefaultShiroFilterChainDefinition();chain.addPathDefinition("/users/login", "anon");// 除了以上url剩下的都需要登录 TODO:拦截后的跳转功能//swagger接口权限 开放4个路径chain.addPathDefinition("/swagger-ui.html", "anon");chain.addPathDefinition("/webjars/**", "anon");chain.addPathDefinition("/v2/**", "anon");chain.addPathDefinition("/swagger-resources/**", "anon");chain.addPathDefinition("/**", "authc");return chain;}

注:其中,/webjars/** 和/v2/** 也是swagger 的相关资源路径,需要一同开放。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。