Swagger2的使用及注意事项
一、Swagger的主要作用有两方面:
1、生成在线文档,通过注解方式生成在线文档,方便在定义修正接口时直接修改接口文档;
2、对接口文档在线测试,不用在输入接口地址以及里面的参数对象,可以很方便的对在线接口测试。
二、 Swagger的使用方法如下:
1、引入springfox-swagger2的jar包依赖
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
2、增加swagger配置文件
@Configuration
@EnableSwagger2
public class SwaggerConfig {
/**
* 根据配置读取是否开启swagger文档,针对测试与生产环境采用不同的配置
*/
@Value("${swagger.enable}")
private boolean isSwaggerEnable;
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.enable(isSwaggerEnable)
.apiInfo(apiInfo()).select()
// 对所有该包下的Api进行监控,如果想要监控所有的话可以改成any()
.apis(RequestHandlerSelectors.basePackage("com.sanchi.test"))
// 对所有路径进行扫描
.paths(PathSelectors.any())
.build();
}
/**
* @return 生成文档说明信息
*/
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("Sanchi test API文档")
.description("接口文档")
.termsOfServiceUrl("http://sanchips.github.io")
.version("1.0.0").build();
}
}
三、实际使用中注意事项
最近同时在使用时出现过下面两种问题导致swagger接口调试失败, 主要是接口配置的细节问题,但它不能正常工作时也要花几个小时排查。
1、swagger配置中basePackage参数没指定,参数拼写配置失误这个参数设置为"" ,结果swagger能正常扫描controler中的接口,但在测试时报错:……Invalid name……(代表省略的其它报错信息)。
2、指定了swagger的访问路径,但这个路径拼写错误,比如真实接口路径为/service/rs/……,但swagger中指定的访问路径为services/rs/……,导致接口测试时报404,找不到对应的接口地址,开始还以为api接口没生成生成,后来对比才发现因为指定的swagger的访问前缀url有问题。要注意少犯这种非智力错误,细心配置验证使用至少能节省开发半天时间。
Swagger2的使用及注意事项的更多相关文章
- springmvc+swagger2
一.swagger2依赖 <!--swagger--> <dependency> <groupId>io.springfox</groupId> < ...
- springboot集成swagger2构建RESTful API文档
在开发过程中,有时候我们需要不停的测试接口,自测,或者交由测试测试接口,我们需要构建一个文档,都是单独写,太麻烦了,现在使用springboot集成swagger2来构建RESTful API文档,可 ...
- java EE技术体系——CLF平台API开发注意事项(4)——API生命周期治理简单说明
文档说明 截止日期:20170905,作者:何红霞,联系方式:QQ1028335395.邮箱:hehongxia626@163.com 综述 有幸加入到javaEE技术体系的研究与开发,也得益于大家的 ...
- 集成 Swagger2 构建强大的 RESTful API 文档
微信公众号:一个优秀的废人如有问题或建议,请后台留言,我会尽力解决你的问题. 前言 快过年了,不知道你们啥时候放年假,忙不忙.反正我是挺闲的,所以有时间写 blog.今天给你们带来 SpringBoo ...
- Spring Boot2 系列教程 (四) | 集成 Swagger2 构建强大的 RESTful API 文档
前言 快过年了,不知道你们啥时候放年假,忙不忙.反正我是挺闲的,所以有时间写 blog.今天给你们带来 SpringBoot 集成 Swagger2 的教程. 什么是 Swagger2 Swagger ...
- Java代码生成器加入postgresql数据库、HikariCP连接池、swagger2支持!
目录 前言 PostgreSql VS MySql HikariCP VS Druid Swagger2 自定义参数配置一览 结语 前言 最近几天又抽时间给代码生成器增加了几个新功能(预计今晚发布 ...
- SpringBoot 集成Swagger2自动生成文档和导出成静态文件
目录 1. 简介 2. 集成Swagger2 2.1 导入Swagger库 2.2 配置Swagger基本信息 2.3 使用Swagger注解 2.4 文档效果图 3. 常用注解介绍 4. Swagg ...
- 前后端分离中,使用swagger2和WireMock提高开发速度
一.使用swagger2生成接口文档 依赖 <dependency> <groupId>io.springfox</groupId> <artifactId& ...
- jQuery UI resizable使用注意事项、实时等比例拉伸及你不知道的技巧
这篇文章总结的是我在使用resizable插件的过程中,遇到的问题及变通应用的奇思妙想. 一.resizable使用注意事项 以下是我在jsfiddle上写的测试demo:http://jsfiddl ...
随机推荐
- IDEA中自动生成serialVersionUID
File >> Setting >> Inspections >> serializable 勾选上后,光标放在实现Serializable接口的类名上 ...
- 更改centos源为aliyun
完全参考 http://mirrors.aliyun.com/help/centos?spm=5176.bbsr150321.0.0.d6ykiD 1.备份 mv /etc/yum.repos.d/C ...
- codeforces546D(从一个数中拆分素数)
D. Soldier and Number Game time limit per test 3 seconds memory limit per test 256 megabytes input s ...
- php优秀框架codeigniter学习系列——CI_Utf8类
CI_Utf8类用来对Utf8编码环境提供支持.(Provides support for UTF-8 environments). 从构造函数看,只有当开启了PCRE模式,加载了iconv或者mbs ...
- suse 12 sp1 系统添加zabbix agent监控
因为之前走入一个误区,认为linux系统的zabbix安装包都是一样的,其实不同的linux的系统对应的版本是不一样的. suse系统版本(不同版本之间也是有区别的):SUSE Linux 12 S ...
- FGX Native library功能介绍
Hot news from the fields of the cross-platform library "FGX Native" development. New Engli ...
- Python 类的约束
# 项目经理 class Base: # 对子类进行了约束. 必须重写该方法 # 以后上班了. 拿到公司代码之后. 发现了notImplementedError 继承他 直接重写他 def login ...
- SpringMvc使用FastJson做为json的转换器(注解方式)
在使用XML方式配置项目,使用fastjson做为Json转换器时通常的在XML内添加如下的配置: <mvc:message-converters register-defaults=" ...
- 链表 c实现
linklist.h #ifndef _LINKLIST_H_ #define _LINKLIST_H_ typedef int data_t; typedef struct node{ data_t ...
- reids的搭建
---恢复内容开始--- redis的安装 源码包安装 以reids3.0为例 先安装编译的软件 gcc gcc-c++ make yum -y install gcc gcc-c++ make ...