一、前言
swagger-ui是java开发中生产api说明文档的插件,这是后端工程师和前端工程师联调接口的桥梁。生成的文档就减少了很多没必要的沟通提高开发和测试效率。

二、 swagger-ui的使用
1、引入maven依赖
		<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>
版本: <swagger2.version>2.9.2</swagger2.version>
2、在springboot启动类上加上注解
@EnableSwagger2
表示开启文档

3、在controller的方法加上注解 @ApiOperation
如:
@RestController
@RequestMapping("tmpMUser")
public class TmpMUserController {
	@Autowired
	private TmpMUserService tmpMUserService;
	@ApiOperation(value = "解密酒店手机号", httpMethod = "POST", response = ResponseData.class, notes = "解密酒店手机号")
	@PostMapping("updateOne")
	public ResponseData<String> updateOne(Map<String, Object> param) {
		try {
			tmpMUserService.updateOne();
			return ResponseData.success("成功");
		} catch (Exception e) {
			e.printStackTrace();
		}
		return ResponseData.error();
	}
}4、通过项目ip加端口加上swagger-ui.html#访问
http://ip:port/swagger-ui.html#
5、文档说明

文档介绍了接口的请求方式,地址和用途。
三、更加丰富的注解
除了上面简单的使用,api还有很多丰富的注解
/**
 @Api:修饰整个类,描述Controller的作用
 @ApiOperation:描述一个类的一个方法,或者说一个接口
 @ApiParam:单个参数描述
 @ApiModel:用对象来接收参数
 @ApiProperty:用对象接收参数时,描述对象的一个字段
 @ApiResponse:HTTP响应其中1个描述
 @ApiResponses:HTTP响应整体描述
 @ApiIgnore:使用该注解忽略这个API
 @ApiError :发生错误返回的信息
 @ApiImplicitParam:一个请求参数
 @ApiImplicitParams:多个请求参数
 */
如示例:
@ResponseBody
@PostMapping(value="/login")
@ApiOperation(value = "登录检测", notes="根据用户名、密码判断该用户是否存在")
public UserModel login(@ApiParam(name = "name", value = "用户名", required = false) 
                       @RequestParam(value = "name", required = false) 
                       String account,
                       @ApiParam(name = "pass", value = "密码", required = false) 
                       @RequestParam(value = "pass", required = false) 
                       String password){}
//或以实体类为参数:
@ResponseBody 
@PostMapping(value="/login") 
@ApiOperation(value = "登录检测", notes="根据用户名、密码判断该用户是否存在") 
public UserModel login(@ApiParam(name = "model", value = "用户信息Model") UserModel model){}
四、swagger-ui介绍

OpenAPI是一个编写API文档的规范,然而如果手动去编写OpenAPI规范的文档,是非常麻烦的。而Swagger就是一个实现了OpenAPI规范的工具集。
Simplify API development for users, teams, and enterprises with the Swagger open source and professional toolset. Find out how Swagger can help you design and document your APIs at scale.













![java八股文面试[JVM]——JVM参数](https://img-blog.csdnimg.cn/aad554f27ae740339b5c2167bc5cf9b6.png#pic_center)





