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模块引入到项目中:

        <!-- https://mvnrepository.com/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
@SpringBootApplication
public 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 specification
swagger.description=the web page which you opened is generated by swagger automatically
swagger.version=1.5.0.RELEASE
swagger.license=Apache License, Version 2.0
swagger.licenseUrl=https://www.apache.org/licenses/LICENSE-2.0.html
swagger.termsOfServiceUrl=https://github.com/dyc87112/spring-boot-starter-swagger
swagger.contact.name=mht
swagger.contact.url=http://localhost:8080/swagger-ui.html
swagger.contact.email=haotian.mou@ahav.com.cn
swagger.base-package=com.seco
swagger.base-path=/**
#配置说明:
swagger.title=标题
swagger.description=描述
swagger.version=版本
swagger.license=许可证
swagger.licenseUrl=许可证URL
swagger.termsOfServiceUrl=服务条款URL
swagger.contact.name=维护人
swagger.contact.url=维护人URL
swagger.contact.email=维护人email
swagger.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》

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

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

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

    /*** 配置shiro拦截器,用于url,粗粒度拦截* <br>作者: mht<br> * 时间:2018年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 的相关资源路径,需要一同开放。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/559036.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

申请 Let's Encrypt 数字证书,并安装cerbot快速上手教程~~

申请 Lets Encrypt 数字证书&#xff0c;并安装cerbot快速上手教程~~Let‘s Encrypt SSL证书介绍如今&#xff0c;越来越多的网站已经由HTTP迁移到HTTPS安全协议了。HTTPS不但能够避免网站内容在传输过程中被恶意篡改&#xff0c;切实保护访问者的权益&#xff0c;还能够让搜索…

Java常用设计模式————单例模式

单例模式简介 90%以上的设计模式都或多或少的应用了接口和抽象类&#xff0c;而单例比较特殊&#xff0c;并没有接口的应用。 单例Singleton指仅仅被实例化一次的类。通常被用来代表那些本质上唯一的系统组件。————《Effective Java》 数据库连接获取类的对象可以是单例的…

最简明扼要的 Systemd 教程,只需十分钟

systemctl常用命令介绍~~~Systemctl是一个systemd工具&#xff0c;主要负责控制systemd系统和服务管理器。 Systemd是一个系统管理守护进程、工具和库的集合&#xff0c;用于取代System V初始进程。Systemd的功能是用于集中管理和配置类UNIX系统。启动及服务大多数主流发行版要…

Java常用设计模式————工厂模式

简介&#xff1a; 工厂模式&#xff08;Factory Pattern&#xff09;是Java中最常用的设计模式之一&#xff0c;又称多态工厂模式、虚拟构造器模式。属于创建型模式。 在工厂模式中&#xff0c;我们在创建对象时不会对客户端暴露创建逻辑&#xff0c;并且是通过使用一个共同的…

JavaScript新手入门教程大全~~~

JavaScript新手入门教程大全~~~一。 js教程介绍&#xff1a;JavaScript是一种运行在浏览器中的解释型的编程语言。 那么问题来了&#xff0c;为什么我们要学JavaScript&#xff1f;因为你没有选择。在Web世界里&#xff0c;只有JavaScript能跨平台、跨浏览器驱动网页&#xff0…

Java常用设计模式————抽象工厂模式

简介 每一个具体工厂类只负责创建抽象产品的某一个具体子类的实例。 与工厂方法模式的区别 工厂方法模式针对的是一个产品等级结构&#xff0c;而抽象工厂模式针对的是多个产品等级结构&#xff0c;因此抽象工厂模式在结构上要比工厂方法模式更加复杂和抽象&#xff0c;也更…

CSS新手入门教程~~~~

CSS新手入门教程~~~~CSS简介&#xff1a;什么是 CSS? CSS 指层叠样式表 (Cascading Style Sheets)样式定义如何显示 HTML 元素样式通常存储在样式表中把样式添加到 HTML 4.0 中&#xff0c;是为了解决内容与表现分离的问题外部样式表可以极大提高工作效率外部样式表通常存储在…

Docker必备知识整理

Docker简介 Docker是一个开源的应用容器引擎&#xff0c;让开发者可以打包他们的应用以及依赖包到一个可移植的容器中&#xff0c;然后发布到任何流行的Linux机器上&#xff0c;也可以实现虚拟化。容器是完全使用沙箱机制&#xff0c;相互之间不会有任何接口。 Docker是用Go语言…

Exception和Error深入分析~~~

Exception和Error深入分析~~~Exception 和 Error 都是继承了 Throwable 类&#xff0c;在 Java 中只有 Throwable 类型的实例才可以被抛出&#xff08;throw&#xff09;或者捕获&#xff08;catch&#xff09;&#xff0c;它是异常处理机制的基本组成类型。 Exception 和 Erro…

Java常用设计模式————原型模式(一)

介绍 原型模式&#xff08;Prototype Pattern&#xff09;&#xff1a;用原型实例指定创建对象的种类&#xff0c;并通过拷贝这些原型创建新的对象。 原型模式用于创建重复的对象&#xff0c;同时又能保证性能。当直接创建对象的代价比较大时&#xff0c;则采用这种模式。&…

解决eclipse刚启动卡死的问题~~~亲测有效~~

解决eclipse刚启动卡死的问题~~~亲测有效~~ 重启了eclipse三次&#xff0c;还是卡死了。最后找到一下方法&#xff1a; 建议大家在删除先备份一下文件&#xff0c;以免丢失项目&#xff01; 关于 eclipse启动卡死的问题&#xff08;eclipse上一次没有正确关闭&#xff0c;导致…

Java常用设计模式————原型模式(二)之深拷贝与浅拷贝

引言 clone顾名思义就是复制&#xff0c; 在Java语言中&#xff0c; clone方法被对象调用&#xff0c;所以会复制对象。所谓的复制对象&#xff0c;首先要分配一个和源对象同样大小的空间&#xff0c;在这个空间中创建一个新的对象。那么在java语言中&#xff0c;有几种方式可…

Java控制台输入教程~~~~

Java控制台输入教程~~~~当通过new Scanner&#xff08;System.in&#xff09;创建一个Scanner&#xff0c;控制台会一直等待输入&#xff0c;直到敲回车键结束&#xff0c;把所有输入的内容传给Scanner&#xff0c;作为扫描对象。如果要获取输入的内容&#xff0c;则只需要调用…

Java面试宝典————基础篇

参考原文&#xff1a;《Java面试题全集&#xff08;上&#xff09;》 1.Java中的基本数据类型有哪些&#xff1f; 类型&#xff1a;byte short int long float double boolean char 字节&#xff1a;1 2 4 8 4 8 1 2 2.面向…

Git初学札记(零)————EGIT完成Eclipse到GitHub一条龙

eclipse安装Egit插件 首先我们要找到所需的egit插件的url更新地址。百度一大堆&#xff0c;但是我还是希望自己去寻找。 打开Eclipse Downloads官网&#xff0c;在页面底部直接输入“egit”关键字&#xff0c;并直接点击第一条搜索到的结果。然后点击Downloads标签页&#xff0…

如何使用echo指令向文件写入内容

如何使用echo指令向文件写入内容0.前言本文总结如何使用echo命令向文件中写入内容&#xff0c;例如使用echo指令覆盖文件内容&#xff0c;使用echo指令向文件追加内容&#xff0c;使用echo指令往文件中追加制表符。echo向文件中输出内容的基本方法是使用IO重定向指令——“>…

Eclipse生成SSH传输密钥并实现GitHub的SSH代码提交

生成公私密钥 打开eclipse首选项完成如下操作&#xff1a;保存密钥&#xff1a;这里注意&#xff0c;博主之前已经生成过密钥了&#xff0c;因此这里只是演示截图&#xff0c;如果此时点击保存&#xff0c;会弹出“是否覆盖”提示框。 其中&#xff0c;id_rsa代表非对称加密算法…

Java实现链表结构

Java实现链表结构按链表的组织形式分有ArrayList和LinkList两种。ArrayList内部其实是用数组的形式实现链表&#xff0c;比较适合链表大小确定或较少对链表进行增删操作的情况&#xff0c;同时对每个链表节点的访问时间都是constant&#xff1b;而LinkList内部以一个List实现链…

SpringBoot————快速搭建springboot项目

完成项目的创建信息 浏览器打开SPRING INITIALIZR网址&#xff1a; http://start.spring.io/ 如下图所示完成配置&#xff1a; 1.完成基础项目配置 2.相关名称 3.依赖jar包&#xff0c;如果是web项目&#xff0c;那么这里选择的Web依赖已经包含了开发web项目所必须的服务器…

史上最容易理解————GET和POST两种基本请求方法的区别

GET和POST两种基本请求方法的区别GET和POST是HTTP请求的两种基本方法&#xff0c;要说它们的区别&#xff0c;接触过WEB开发的人都能说出一二。最直观的区别就是GET把参数包含在URL中&#xff0c;POST通过request body传递参数。你可能自己写过无数个GET和POST请求&#xff0c;…