本文主要介绍SpringBoot与Swagger3集成生成界面文档的过程分析。以示例代码的方式非常详细的介绍,对于大家的学习或者工作都有一定的参考价值,有需要的朋友可以参考一下。
对于前后端分离的项目,接口文档的存在非常重要。与手工界面文档不同,swagger是一个自动生成界面文档的工具,在需求不断变化的环境下,手工文档的效率太低。相比新版的swagger3,swagger2的配置更少,使用更方便。
1.将Swagger3依赖项引入pom文件
属国
groupIdio.springfox/groupId
artifactId spring fox-boot-starter/artifactId
版本3 . 0 . 0/版本
/依赖关系
二、Application上面加入@EnableOpenApi注解
@EnableOpenApi
@SpringBootApplication
@ MapperScan(base packages={ cn . ruiyeclub . Dao })
公共类swagger 3应用程序{
公共静态void main(String[] args) {
spring application . run(swagger 3 application . class,args);
}
}
三、Swagger3Config的配置
@配置
公共类Swagger3Config {
@Bean
公共摘要createRestApi() {
返回新的摘要(DocumentationType。OAS_30)。apiInfo(apiInfo())。选择()。API(requesthandlerselectors . withmethodannotation(API operation . class))。路径(PathSelectors.any())。build();
}
私有ApiInfo apiInfo() {
返回新的ApiInfoBuilder()。标题(“Swagger3接口文档”)。描述(有关更多信息,请咨询服务开发人员Ray。)。联系人(新联系人( Ray .、 http://www.ruiyeclub.cn 、 ruiyeclub@foxmail.com ))。版本(“1.0”)。build();
}
}
四、Swagger注解的使用说明
@Api:用在请求的类上,表示该类的描述。
Tags=可以在UI界面上看到的注释,用于解释该类的功能
Value=该参数无意义,UI界面可以看到,不需要配置
@ApiOperation:用在请求的方法上,解释方法的用途和功能。
Value=解释方法的目的和功能
Notes=“方法的注释”
@ ApiImplicitParams:用在请求的方法上,表示一组参数说明。
@ ApiImplicitParam:在@ ApiImplicitParams批注中用于指定请求参数的所有方面。
名称:参数名称
值:参数的汉字描述和说明
必选:是否必须传递参数
ParamType:参数放在哪里?
头-请求参数获取:@RequestHeader
查询-请求参数获取:@RequestParam
路径(对于restful接口)-请求参数获取:@PathVariable
正文(不常用)
表单(不常用)
数据类型:参数类型,默认字符串,其他值数据类型=整数
默认值:参数的默认值
@ApiResponses:用在请求的方法上,表示一组响应。
@ApiResponse:用在@ApiResponses中,一般用来表达一个错误的响应消息。
代码:一个数字,如400。
消息:信息,如“未填写请求参数”
响应:抛出异常的类
@ApiModel:用在response类上,表示返回响应数据的消息。
(这通常在创建post时使用,使用类似@RequestBody的场景,
当请求参数不能用@ ApiImplicitParam注释描述时)
@ApiModelProperty:用于属性,描述响应类的属性
控制器层的配置:
@Api(tags=用户信息管理)
@RestController
@RequestMapping(userRecord )
公共类UserRecordController扩展ApiController {
/**
*客户
*/
@资源
private UserRecordService用户记录服务;
/**
*分页查询所有数据
* @param页面分页对象
* @param userRecord查询实体
* @返回所有数据
*/
@ApiOperation(分页所有数据)
@GetMapping(page )
public R select all(page user record page,UserRecord userRecord) {
返回成功(this . user recordservice . page(page,new query wrapper(user record)));
}
/**
*通过主键查询单个数据
* @param id主键
* @返回单个数据
*/
@ApiOperation(通过主键查询单条数据)
@GetMapping({id} )
public R selectOne(@ path变量Serializable id){
返回成功(这个。用户记录服务。get byid(id));
}
/**
* 新增数据
* @param userRecord实体对象
* @返回新增结果
*/
@ApiOperation(新增数据)
@PostMapping(insert )
public R insert(@请求正文用户记录用户记录){
返回成功(这个。用户记录服务。保存(用户记录));
}
/**
* 修改数据
* @param userRecord实体对象
* @返回修改结果
*/
@ApiOperation(修改数据)
@PutMapping(update )
公共稀有更新(@请求体用户记录用户记录){
返回成功(这个。用户记录服务。更新byid(用户记录));
}
/**
* 删除数据
* @param idList主键结合
* @返回删除结果
*/
@ApiOperation(删除数据)
@DeleteMapping(delete )
public R delete(@ request param( id list )list long id list){
返回成功(这个。userrecordservice。移除byids(id list));
}
}
五、Swagger界面效果
时髦的的访问路径由port/swagger-ui.html改成了port/swagger-ui/或port/swagger-ui/index.html,项目演示代码在跳靴-昂首阔步
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。