SpringBoot整合Swagger3生成接口文档过程解析

SpringBoot整合Swagger3生成接口文档过程解析

本文主要介绍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,项目演示代码在跳靴-昂首阔步

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

SpringBoot整合Swagger3生成接口文档过程解析