swagger暴露程序接口文档
Swagger2是一个帮助用户、团队、企业快速、高效、准确地生产API服务的工具组件,同时还提供了部分测试功能,它的官方网站是https://swagger.io/。
1.引入Maven
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.</version>
</dependency>
2.在应用启动类上添加注解@EnableSwagger2用以开启Swagger2
@SpringBootApplication
@EnableSwagger2
public class DemoApplication { public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
} }
实际上在执行完上面两个步骤后,接口就已经被暴露出来了,这时我们启动应用,进入网站http://ip:port/swagger-ui.html,可以看到如下界面

上图中已经暴露出来了四个不同的处理器,但是其中只有“user-controller”是由我们创建的,同时这些处理器和页面中没有任何的相关提示,让人难以理解每个接口分别对应的功能。下面我们再进行第三步,对暴露出来的接口再进行详细地描述。
3.添加API文档描述
定义文档的整体描述,和API文档的规范
@Configuration
public class SwaggerConf { @Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo()) //Api信息
.select() //选择器
.apis(RequestHandlerSelectors.basePackage("com.springboot.demo.controller")) //只有在这个包和子包下的接口被生成API文档
.paths(PathSelectors.any()) //允许的路径,可以指定post
.build();
} private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("swagger2 demo") //文档标题
.description("swagger2的测试用例") //文档说明
.contact(new Contact("yxf", "http://yxf.com", "5@qq.com")) //文档提供者的联系方式
.version("1.0") //版本号
.build();
} }
再根据每个接口定义各自的相关描述
/**
* 1.@ApiOperation 描述Api的操作,包括请求名(value)和请求描述(notes)
* 2.@ApiImplicitParams 多个请求参数,里面以数组形式存储了单个的请求参数
* 3.@ApiImplicitParam 单个请求参数,name参数名,value参数描述,required必要性(针对部分参数可以为空的情况),
* example样例格式(默认是“String”,0,true等)
* @param id
* @return
*/
@ApiOperation(value = "删除角色", notes = "根据ID删除角色。")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "角色ID", required = true, example = "")
})
@DeleteMapping(value = "role/")
public String removeRole(long id) {
System.out.println("删除角色");
return "删除成功" + id;
}
如上编写后,重启应用再进入上面的方法路径“/role/”查看:

点击“try it out”

执行后下方会出现操作的相关信息:

swagger暴露程序接口文档的更多相关文章
- spring boot使用swagger生成api接口文档
前言 在之前的文章中,使用mybatis-plus生成了对应的包,在此基础上,我们针对项目的api接口,添加swagger配置和注解,生成swagger接口文档 具体可以查看本站spring boot ...
- Asp.Net Core 轻松学-利用 Swagger 自动生成接口文档
前言 目前市场上主流的开发模式,几乎清一色的前后端分离方式,作为服务端开发人员,我们有义务提供给各个客户端良好的开发文档,以方便对接,减少沟通时间,提高开发效率:对于开发人员来说,编写接口文档 ...
- .NET Core WEB API使用Swagger生成在线接口文档
1项目引用Swashbuckle.AspNetCore程序集和Microsoft.Extensions.PlatformAbstractions程序集 右击项目打开"管理NuGet程序包.. ...
- Asp.Net Core 轻松学系列-5利用 Swagger 自动生成接口文档
目录 前言 结语 源码下载 前言 目前市场上主流的开发模式,几乎清一色的前后端分离方式,作为服务端开发人员,我们有义务提供给各个客户端良好的开发文档,以方便对接,减少沟通时间,提高开发效率:对 ...
- .net core 使用swagger自动生成接口文档
前言 swagger是一个api文档自动生动工具,还集成了在线调试. 可以为项目自动生成接口文档, 非常的方便快捷 Swashbuckle.AspNetCore 是一个开源项目,用于生成 ASP.N ...
- 使用Swagger生成简单接口文档
使用swagger通过简单的配置可以生成简单的接口文档: 依赖包: // Swagger2 compile 'io.springfox:springfox-swagger2:2.8.0' compil ...
- 「快学springboot」16.让swagger帮忙写接口文档
swagger简介 官方的介绍 THE WORLD'S MOST POPULAR API TOOLING Swagger is the world's largest framework of API ...
- .NET Core使用swagger进行API接口文档管理
一.问题背景 随着技术的发展,现在的开发模式已经更多的转向了前后端分离的模式,在前后端开发的过程中,联系的方式也变成了API接口,但是目前项目中对于API的管理很多时候还是通过手工编写文档,每次的需求 ...
- Swagger: 一个restful接口文档在线生成+功能测试软件
一.什么是 Swagger? Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件.Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 ...
随机推荐
- Redis学习目录
目录 持续更新... Redis简介 Redis安装及基本配置 Redis持久化 Redis开发及管理实战 Redis高可用及集群 Redis多API开发
- Ubuntu16.04安装pcl库
sudo apt-get install libpcl-dev sudo apt-get install pcl-tools
- Joomla - 菜单系统 (从创建到前端页面显示的过程)
在 Joomla 中,菜单是最常用且重要的功能之一,一般用于承载页面内容和各内容间的切换.导航等,演绎着非常重要的角色: 一.新建菜单 进入后台,点击顶栏菜单 -> 菜单管理 -> 点击新 ...
- Joomla - T3模板(非常好用的4屏响应式模板)
一.下载 T3 模板 下载地址(需要注册登录才能下载):https://www.joomlart.com/member/downloads/joomlart/t3-framework/t3-blank ...
- ES6数组对象新增方法
1. Array.from() Array.from方法用于将两类对象转为真正的数组:类数组的对象( array-like object )和可遍历( iterable )的对象(包括 ES6 新增的 ...
- 使用 Vue.js 和 Chart.js 制作绚丽多彩的图表
本文作者:Jakub Juszczak 编译:胡子大哈 翻译原文:http://huziketang.com/blog/posts/detail?postId=58e5e0e1a58c240ae35b ...
- [原创]新版PageOffice V4.0为什么用弹出窗口的方式打开文件?
前的包含文档处理功能的Web办公系统,在打开文档的时候,一部分系统是采用Office文档嵌入到主窗口页面中右侧工作区域的方式,另一部分系统采用的是弹出新的浏览器窗口,里面完整的嵌入Office文件的打 ...
- Servlet与Struts的区别
启动: ● Servlet:无 ● Struts:配置filter,设置struts入口 创建: ● Servlet:继承HttpServlet,重写doGet与doPost方法: 添加注解或配置we ...
- 史上最贵域名诞生!360斥资1700万美元买360.com
昨日,360公司官方人士向腾讯科技确认,公司已斥巨资收购国际顶级域名360.com.传闻这一收购价格为1700万美元,约合人民币1.1亿元. 史上最贵域名诞生!360斥资1700万美元买360.com ...
- React学习整理
React介绍 React设计思想及其独特,属于革命性创新,性能出众,代码逻辑却非常简单. 库(library):小而巧,库只提供了特定的api.优点是船小好调头,可以很方便的从一个库切换到另外的库, ...