SptingBoot 实战(1):SpringBoot + SwaggerUI

swagger用于定义API文档

好处:

  • 前后端分离开发
  • API文档非常明确
  • 测试的时候不需要再使用URL输入浏览器的方式来访问Controller
  • 传统的输入URL的测试方式对于post请求的传参比较麻烦(当然,可以使用postman这样的浏览器插件)
  • spring-boot与swagger的集比较成简单

1.pom.xml

引入了两个jar。

1

2

3

4

5

6

7

8

9

10

   io.springfox

   springfox-swagger2

   2.2.2

   io.springfox

   springfox-swagger-ui

   2.2.2

 2.Swagger2类配置

引入了一个注解@EnableSwagger2来启动swagger注解

SptingBoot 实战(1):SpringBoot + SwaggerUI_第1张图片

3. 定义返回实体类

SptingBoot 实战(1):SpringBoot + SwaggerUI_第2张图片

4.定义返回结果集

SptingBoot 实战(1):SpringBoot + SwaggerUI_第3张图片

5.定义UserController类

SptingBoot 实战(1):SpringBoot + SwaggerUI_第4张图片

6. 注解说明

@Api:用在类上,说明该类的作用
@ApiOperation:用在方法上,说明方法的作用
@ApiImplicitParams:用在方法上包含一组参数说明
@ApiImplicitParam:用在@ApiImplicitParams注解中,指定一个请求参数的各个方面
paramType:参数放在哪个地方
header-->请求参数的获取:@RequestHeader
query-->请求参数的获取:@RequestParam
path(用于restful接口)-->请求参数的获取:@PathVariable
body(不常用)
form(不常用)
name:参数名
dataType:参数类型
required:参数是否必须传
value:参数的意思
defaultValue:参数的默认值
@ApiResponses:用于表示一组响应
@ApiResponse:用在@ApiResponses中,一般用于表达一个错误的响应信息
code:数字,例如400
message:信息,例如"请求参数没填好"
response:抛出异常的类
@ApiModel:描述一个Model的信息(这种一般用在post创建的时候,使用@RequestBody这样的场景,请求参数无法使用@ApiImplicitParam注解进行描述的时候)
@ApiModelProperty:描述一个model的属性
以上这些就是最常用的几个注解了。

7. 启动服务,浏览器输入"http://localhost:9080/swagger-ui.html"

SptingBoot 实战(1):SpringBoot + SwaggerUI_第5张图片

SptingBoot 实战(1):SpringBoot + SwaggerUI_第6张图片

最上边一个红框:@Api

GET红框:method=RequestMethod.GET

右边红框:@ApiOperation

parameter红框:@ApiImplicitParams系列注解

response messages红框:定义的统一返回结果集

输入参数后,点击"try it out!",查看响应内容

你可能感兴趣的:(SptingBoot,实战)