上篇文章讲到 SpringBoot中优雅的使用Swagger2-【1/2】,还不会使用Swagger的小伙伴能够先去看上期文章。
做用范围 | API | API经常使用参数 | 做用位置 |
---|---|---|---|
协议集描述 | @Api | @Api(tags = {"tag1","tag2","..."}) | controller类 |
协议描述 | @ApiOperation | @ApiOperation(value = "功能描述",notes = "备注") | controller类的方法 |
描述返回对象的意义 | @ApiModel | @ApiModel(value="类名",description="类描述") | 返回对象类 |
对象属性 | @ApiModelProperty | @ApiModelProperty(value = "类属性描述",required = true,example = "属性举例",notes = "备注") | 出入参数对象的字段 |
非对象参数集 | @ApiImplicitParams | @ApiImplicitParams({@ApiImplicitParam(),@ApiImplicitParam(),...}) | controller的方法 |
非对象参数描述 | @ApiImplicitParam | @ApiImplicitParam(name = "参数名",value = "参数描述",required = true,paramType = "接口传参类型",dataType = "参数数据类型") | @ApiImplicitParams的方法里用 |
Response集 | @ApiResponses | @ApiResponses({ @ApiResponse(),@ApiResponse(),..}) | controller的方法 |
Response | @ApiResponse | @ApiResponse(code = 10001, message = "返回信息") | @ApiResponses里用 |
忽略注解 | @ApiIgnore | @ApiIgnore | 类,方法,方法参数 |
做用
:用来指定接口的描述文字
修饰范围
:做用在类上
@Api(tags = "TestController测试") @RestController public class TestController { .... }
做用
:用来对接口中具体方法作描述
修饰范围
:做用在方法上
@ApiOperation(value = "接口整体描述",notes = "<span style='color:red;'>详细描述:</span> 方法详细描述信息") @GetMapping("/") public String login(String... index) { return "Hello login ~"; }
value
:用来对接口的整体描述
notes
:用来对接口的详细描述
做用
:用来对接口中参数进行说明修饰范围
:做用在方法上参数
:@ApiImplicitParam数组html@ApiImplicitParam
做用
:修饰接口方法里面的参修饰范围
:做用方法上参数
:前端
name
:方法参数名称value
:方法参数的描述dataType
:方法参数数据类型defaultValue
:方法参数默认值(给测试人员作测试用的)paramType
:
默认query
:对应方式一java
path
:对应方式二body
:对应方式三
@ApiOperation(value = "接口整体描述", notes = "<span style='color:red;'>详细描述:</span> 方法详细描述信息") @ApiImplicitParams({ @ApiImplicitParam(name = "username", value = "用户名", dataType = "String", defaultValue = "qlh"), @ApiImplicitParam(name = "password", value = "密码", dataType = "String", defaultValue = "123") }) @PostMapping("/") public String login(String username, String password) { return "Hello login ~"; }
@ApiOperation(value = "接口整体描述", notes = "<span style='color:red;'>详细描述:</span> 方法详细描述信息") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "id", dataType = "String", defaultValue = "qlh",paramType = "path"), @ApiImplicitParam(name = "name", value = "姓名", dataType = "String", defaultValue = "123",paramType = "path") }) @PostMapping("/index/{id}/{name}") public String index(@PathVariable("id") String id, @PathVariable("name") String name) { return "Hello World ~"; }
@ApiOperation(value = "接口整体描述", notes = "<span style='color:red;'>详细描述:</span> 方法详细描述信息") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "id", dataType = "String", defaultValue = "xxx", paramType = "body"), @ApiImplicitParam(name = "name", value = "姓名", dataType = "String", defaultValue = "123", paramType = "body") }) @PostMapping("/index") public String index(@RequestBody Map<String, Object> map) { return "Hello World ~"; }
做用
:用于接口的响应结果
修改范围
:做用在接口方法上
参数
:@ApiResponse数组
@ApiResponses({ @ApiResponse(), @ApiResponse(), ... })
做用
:在ApiResponses里面对响应码以及响应内容进行设置修饰范围
:做用接口方法上参数
:spring
code
:响应状态码message
:响应状态码对应的响应内容
@ApiResponse(code = 10001, message = "签名错误"), @ApiResponse(code = 10002, message = "sql错误"), @ApiResponse(code = 10003, message = "服务怠机,请稍后重试"),
做用
:忽略类,方法,参数。(忽略的意思:在swagger-ui.html中不显示)
修改范围
:做用在类,方法,参数上
@ApiIgnore
做用
:用来对实体类进行说明
修饰范围
:做用在类上
@ApiModel(value="类名",description = "实体类描述")
做用
:用来对实体类中的属性进行说明
修饰范围
:做用在类中的属性上
@ApiModelProperty(value = "类属性描述",required = true,example = "属性举例",notes = "备注")
至此springboot集成swagger2
就讲完了,我相信,看完我这两篇文章以后的朋友,大家就能很熟练的在java代码中使用swagger了。
由于目前先后端分离
比较流行,因此写一个好的swagger接口文档是颇有必要的
,这样就会减小先后端由于一些接口表述不清楚,致使的后端开发人员来回和前端人员交流沟通,大大的提升了开发的效率。
使用swagger注解
后,大家写的接口是否是被好多同事夸奖了呢?哈哈哈。感谢阅读小生文章。祝你们
早日富可敌国,实现财富自由
。
记得点赞、评论、收藏哦
。
有任何问题能够在微信搜索公众号
:Madison龙少
进行咨询
或者微信扫描下面二维码进行咨询sql