swagger

SpringBoot之路(8)–使用Swagger2让咱滴测试和接口文档更轻松

好久不见. 提交于 2020-03-03 03:49:45
场景 兄弟们,上一篇咱们演示了SpringBoot开发Restful Web项目是多么的简单啊,简直就是简单到爆炸。反正老哥我用了SpringBoot之后,是再写不想写原始的带有一堆配置的Spring项目了。 谁还不想简简单单把事情办了,好有更多时间陪女朋友逛街买裙子啊?啥?你没女朋友,那你还不想有更多时间玩优秀么兄弟,别这么死脑筋行不? 说正经的,还是找个女朋友是正道! 好的,有了Restful之后,开发后端API接口确实足够简单了,但是如何测试捏。 难道为了测试,就得把前端工程实现了?那还叫啥前后端分离呢。 难道要单独使用工具测试,比如Postman,功能导师挺全面,但是Postman完全不知道我们的项目是咋回事啊,URL参数都得自己一个一个填,多麻烦啊。 既然我们的程序都摆在这了,各个接口URL地址、参数都是确定的,就不能自动生成可视化的测试界面么,让我们把参数填填发起测试就行。 Swagger2用了就是爽 当然行咧,用Swagger2就是咧。不光自动生成可视化测试,还能自动生成接口文档。 别人来测试的时候,直接看到文档描述,都不用来问你了。将程序设计的懒人原则发挥到极致。 此处提一点,程序开发就是要足够懒,才能让需求方感到:咋这么容易、这么好用捏。 具体实现 好了,扯了一大堆,看看怎么实现。 1、导入依赖 我们还是使用上一章节中的Web项目进行演示

swagger注解

二次信任 提交于 2020-03-03 00:23:33
@Api() :用于类;表示标识这个类是swagger的资源 tags–表示说明 value–也是说明,可以使用tags替代 效果: @ApiOperation() 用于方法;表示一个http请求的操作 value用于方法描述 notes用于提示内容 tags可以重新分组(视情况而用) 效果: @ApiParam() 用于方法,参数,字段说明;表示对参数的添加元数据(说明或是否必填等) name–参数名 value–参数说明 required–是否必填 @ApiModel()用于类 :表示对类进行说明,用于参数用实体类接收 value–表示对象名 description–描述 @ApiModelProperty()用于方法,字段; 表示对model属性的说明或者数据操作更改 value–字段说明 name–重写属性名字 dataType–重写属性类型 required–是否必填 example–举例说明 hidden–隐藏 @ApiIgnore()用于类或者方法上,可以不被swagger显示在页面上 @ApiImplicitParam() 用于方法 :表示单独的请求参数 @ApiImplicitParams() 用于方法,包含多个 @ApiImplicitParam name–参数ming value–参数说明 dataType–数据类型 paramType–参数类型

Spring Boot(九)Swagger2自动生成接口文档和Mock模拟数据

爷,独闯天下 提交于 2020-03-02 09:06:07
一、简介 在当下这个前后端分离的技术趋势下,前端工程师过度依赖后端工程师的接口和数据,给开发带来了两大问题: <!--more--> 问题一、后端接口查看难:要怎么调用?参数怎么传递?有几个参数?参数都代表什么含义? 问题二、返回数据操作难:数据返回不对或者不够怎么办?怎么才能灵活的操作数据? 这是很多公司前后端分离之后带来的困扰,那怎么来解决这些问题? 问题一的一般解决方案:后端团队共同维护一个在线文档,每次改接口再去改对应的文档,但难免会遗漏,花的大力气但却效果平平。 问题二的一般解决方案:自己搭建一个Mock服务器,然后一个接口一个接口手动去录规则,还是一个费力的体力活。 那有没有最优的解决方案,来解决以上两个问题呢?答案是肯定的,那就是将要登场的“Swagger”和“Easy Mock”。 1.1 Swagger介绍 Swagger是全球最流行的接口文档自动生成和测试的框架,几乎支持所有的开发语言。 Swagger官网地址: https://swagger.io/ 1.2 Easy Mock介绍 Easy Mock是一个可视化,并且能快速生成 模拟数据 的持久化服务。 Easy Mock能一键导入Swagger所有接口,省去了手动录制接口的麻烦,而且能够完美的适配Swagger中的代码注释,可谓开发利器。 Easy Mock数据是保存在云端的,而且可以创建团队项目

spring swagger 2.9.2 For input string: ""粗暴解决

守給你的承諾、 提交于 2020-03-02 08:36:12
问题 最近从将springfox-swagger2 2.8.0升级到2.9.0版本,后台报如下错误: java.lang.NumberFormatException: For input string: "" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) ~[na:1.8.0_181] at java.lang.Long.parseLong(Long.java:601) ~[na:1.8.0_181] at java.lang.Long.valueOf(Long.java:803) ~[na:1.8.0_181] at io.swagger.models.parameters.AbstractSerializableParameter.getExample(AbstractSerializableParameter.java:412) ~[swagger-models-1.5.20.jar:1.5.20] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_181] at sun.reflect.NativeMethodAccessorImpl.invoke

Java B2B2C o2o多用户商城 springcloud架构(十一)springboot集成swagger2,构建优雅的Restful API

前提是你 提交于 2020-03-02 08:31:11
swagger,中文“拽”的意思。它是一个功能强大的api框架,它的集成非常简单,不仅提供了在线文档的查阅,而且还提供了在线文档的测试。另外swagger很容易构建restful风格的api,简单优雅帅气,正如它的名字。 一、引入依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.6.1</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.6.1</version> </dependency> 二、写配置类 @Configuration @EnableSwagger2 public class Swagger2 { @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com

Swagger 描述API返回信息

时光怂恿深爱的人放手 提交于 2020-03-02 08:08:57
一、pom中引入jar <swagger2.version>2.8.0</swagger2.version> <!--swagger2,API整理工具,通过域名/swagger-ui.html#/可直接访问 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>${swagger2.version}</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>${swagger2.version}</version> </dependency> 二、配置swagger信息 @Configuration @EnableSwagger2 public class Swagger2 { @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select() .apis

Swagger的使用

房东的猫 提交于 2020-03-02 07:55:03
在此前写接口的时候用的都是postman,包括前端也是通过postman进行查看接口的相关信息的,听说Swagger还挺好用的,可以自动生成接口文档,我就与项目整合在一起,发现还行(应前端的要求哈哈哈) 接下来我来记录一下我项目整合的过程吧!我是SpringBoot整合Swagger2 第一步导入相关的包 <!-- Swagger --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.8.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.8.0</version> </dependency> <!-- END Swagger --> 第二步:编写配置类 @Configuration @EnableSwagger2 public class Swagger2Config { @Bean public Docket createRestApi(Environment environment){ //设置要显示swagger的环境

Springboot2 集成Swagger2,解决配置完成后不显示的坑

僤鯓⒐⒋嵵緔 提交于 2020-03-02 06:52:00
为新项目做准备重新搭建环境,决定使用Springboot2+mybatis环境,使用shiro做权限管理 ,并搭配pagehelper,generator等。在配置Swagger2的时候出现访问时界面空白的坑,刚开始以为是配置的插件过多导致的不兼容,重新配置了其他环境,但问题依然存在,后来查找资料解决了问题。现在此作记录。目前使用Springboot 版本为 2.0.3.RELEASE。 一、springboot2导包(maven): 在pom.xml中 <!--Swagger2--> <dependency> <groupId> io.springfox </groupId> <artifactId> springfox-swagger2 </artifactId> <version> ${springfox-swagger2.version} </version> </dependency> <dependency> <groupId> io.springfox </groupId> <artifactId> springfox-swagger-ui </artifactId> <version> ${springfox-swagger2.version} </version> </dependency> <springfox-swagger2.version> 2.8.0 <

springboot集成swagger2

主宰稳场 提交于 2020-03-01 22:41:00
记录springboot集成swagger2的步骤。 1、引入swagger2的依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.7.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.7.0</version> </dependency> 2、新建SwaggerConfig.java 配置swagger2 @Configuration @EnableSwagger2 public class Swagger2Config { @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()).select() .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) .paths

SpringBoot集成swagger2

守給你的承諾、 提交于 2020-03-01 20:50:50
springboot-swagger2-demo 项目介绍 SpringBoot集成swagger2 使用说明 引入maven依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.6.1</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.6.1</version> </dependency> 启用swagger2 在Application类上添加@EnableSwagger2注解 如: @EnableSwagger2 @SpringBootApplication public class SpringbootDemoApplication 在Controller上添加注释信息(非必须) 如: @ApiOperation(value = "获取用户详细信息", notes = "根据url的id来获取用户详细信息") @ApiImplicitParam(name = "id", value = "用户ID", required =