springboot添加swagger2组件
swagger2是一个可以构建和调试RESTful API文档的组件,利用swagger2的注解可以快速的在项目中构建Api文档,并且提供了测试API的功能
1,引入依赖
<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,配置swagger2
@Configuration @EnableSwagger2 public class Swagger2Configration {@Beanpublic Docket createRestApi() {return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.basePackage("org.my.security")).paths(PathSelectors.any()).build();}private ApiInfo apiInfo() {return new ApiInfoBuilder().title("Spring Boot添加Swagger2组件").description("Spring Boot添加Swagger2组件").version("1.0").build();} }
@configration 标识这是一个配置类
@EnableSwagger2开启swagger2
apis表示swagger需要扫描的包
PathSelectors.any()表示路径选择器匹配所有路径 apiInfo() swagger页面上的一些展示信息
3,swagger常用注释
@Api() 用于类;表示标识这个类是swagger的资源 tags–表示说明 value–也是说明,可以使用tags替代 @ApiOperation() 用于方法;表示一个http请求的操作 value用于方法描述 notes用于提示内容 @ApiParam() 用于方法,参数,字段说明;表示对参数的添加元数据(说明或是否必填等) name–参数名 value–参数说明 required–是否必填 @ApiModel()用于类 ;表示对类进行说明,用于参数用实体类接收 value–表示对象名 @ApiModelProperty()用于方法,字段; 表示对model属性的说明或者数据操作更改 value–字段说明 name–重写属性名字 dataType–重写属性类型 required–是否必填 example–举例说明 hidden–隐藏 @ApiImplicitParam() 用于方法 表示单独的请求参数 @ApiImplicitParams() 用于方法,包含多个 @ApiImplicitParam name–参数ming value–参数说明 dataType–数据类型 paramType–参数类型 example–举例说明 @ApiIgnore 作用于方法上,使用这个注解swagger将忽略这个接口
4,打个样
@RestController @RequestMapping("user") @Api("用户信息接口") public class UserController {@GetMapping("/{id}")@ApiOperation(value="查询用户", notes="根据id来查询用户")@ApiImplicitParam(name = "id", value = "用户ID")@JsonView(User.UserSimplaView.class)public User getUser(@PathVariable String id){User user = new User();user.setUserName("陈明羽");user.setPassWord("root明羽");return user;}@GetMapping("/userDetail/{id}")@ApiOperation(value="查询用户详情", notes="根据id来查询用户详情信息")@ApiImplicitParam(name = "id", value = "用户ID")@JsonView(User.UserDetailView.class)public User getUserDetail(@PathVariable String id){User user = new User();user.setUserName("陈明羽");user.setPassWord("root明羽");return user;}} //model对象@ApiModel(value="用户对象")public class User {
@ApiModelProperty(value="用户名",name="userName")
private String userName;
@ApiModelProperty(value="密码",name="passWord")
private String passWord;
//get(),set()
}
5,swagger文档效果
访问 http://localhost:8080/swagger-ui.html
点击单个接口
6,测试接口
以上图/user/userDetail接口为例
在Parameters那块对应字段的value给填上你想测试的值,然后点 try in out!
转载于:https://www.cnblogs.com/cmyxn/p/8028134.html
springboot添加swagger2组件相关推荐
- 13.9 SpringBoot集成Swagger2中遇到的问题
13.9 SpringBoot集成Swagger2中遇到的问题 我们在使用SpringBoot集成Swagger2中,访问:http://127.0.0.1:8188/swagger-ui.html ...
- springboot集成swagger2构建RESTful API文档
在开发过程中,有时候我们需要不停的测试接口,自测,或者交由测试测试接口,我们需要构建一个文档,都是单独写,太麻烦了,现在使用springboot集成swagger2来构建RESTful API文档,可 ...
- JAVA入门[23]-SpringBoot配置Swagger2
一.新建SpringBoot站点 1.新建module,然后引入pom依赖: <parent><groupId>org.springframework.boot</gro ...
- SpringBoot定义三大组件Servlet,过滤器Filter,监听器Listener
SpringBoot定义三大组件Servlet,过滤器Filter,监听器Listener 1.定义组件的配置类: com.example.mybatis2018.config.MyServletCo ...
- SpringBoot集成Swagger2自动生成友好的RestApi测试页面及文档
springBoot集成swagger2 水煮鱼又失败了 https://www.jianshu.com/p/002ce2f26103 1 背景 springBoot作为微服务首选框架,为其他服务提供 ...
- springboot整合 swagger2
springboot整合 swagger2 引入依赖 <!-- swagger --><dependency><groupId>io.springfox</g ...
- 【快速上手系列】使用Springboot集成Swagger2的简单使用测试
[快速上手系列]使用Springboot集成Swagger2的简单使用测试 简介 Swagger2是为了解决企业中接口(api)中定义统一标准规范的文档生成工具. 尤其是前后端分离时对一些业务接口也不 ...
- SpringBoot集成Swagger2
SpringBoot集成Swagger2 刚开始用2.0.2.RELEASE版本的SpringBoot去继承2.7.0版本的springfox-swagger2一直出现请求下面这种情况,就是在启动Sp ...
- Swagger的安装以及SpringBoot整合Swagger2实现SwaggerAPI文档测试
前言 本篇博客是本人在网上学习Swagger所产出的个人笔记.主要内容有: 1.Swagger的安装 2.Swagger的介绍 3.Swagger2中常用的注解 4.快速上手案例 准备工作:Swagg ...
最新文章
- 剑指offer:面试题10- I. 斐波那契数列
- 【翻译】24款界面精美的免费UI工具包
- python:数组/列表(remove()函数、append()函数、sort()函数、reverse()函数)
- 【错误记录】Android 低版本使用分区存储错误 ( 低版本存储不得使用 MediaStore )
- 成功将用intelli idea 建立的项目打包成jar文件,并在Linux上成功运行
- 谈Tensorflow的Batch Normalization
- IAR STM32报错Error[Pe147]:declaration is incompatible with“__nounwind __interwork __softfp unsigned
- vue打包上线部分css效果错乱,vue-cli2打包后css部分样式错乱
- android strictmode有什么作用,Android 性能优化 之 StrictMode
- Android多媒体之视频播放器高级开发
- 拷贝构造函数和赋值构造函数声明为私有的作用
- 洛谷——P1296 奶牛的耳语
- OFFICE技术讲座:JDK绘制旋转斜体字体的效果
- 《Frustum PointNets for 3D Object Detection from RGB-D Data》论文及代码学习(二)——代码部分
- No module named ‘lightgbm‘
- 计算机建筑制图实践报告,工程建筑实习报告范文(精选5篇)
- MongoDb(六)索引原理和命令
- “踢爆”职场焦虑、玩机车、文科转大厂程序媛,乘风破浪的 IT 女神太飒了!
- 概述HTTPS,简单了解对称性加密算法、非对称性加密算法方式
- IMXRT 的Boot模式
热门文章
- python3多进程 pool manager_Python多进程multiprocessing.Pool
- mysql 同一张表查询_mysql 同一张表查询 left join
- mapreduce 文件可以切分吗_MapReduce的任务流程
- python 接口自动化测试_python接口自动化测试之接口数据依赖
- java 乐观锁 实例_JAVA乐观锁实现-CAS(示例代码)
- python写接口自动化需要rsa加密_RSA加密,请问如何用Python实现该加密过程
- 【AWS】DynamoDB扫描操作获取表全部数据
- 【研发管理】中国企业 VS 世界优秀企业在产品研发上差距(下)
- 转载-项目经理与部门经理之间的关系
- Winform中使用FastReport实现自定义PDF打印预览