「这是我参与11月更文挑战的第28天,活动详情查看:2021最后一次更文挑战」
相关文章
Java随笔记:Java随笔记
前言
- 上篇文章没有介绍完所有的常用注解,今天来补充最后四个常用注解。
- 还有一些其他的注解,感兴趣的小伙伴们可以自行研究了,在此笔者不在赘述了。
- 平时我们在开发过程中,可以酌情使用。
- 希望对你们有所帮助。
不要嫌弃我水着分开发,为了更文活动,不寒碜!你懂得!
一、ApiResponse
@ApiResponse
用于方法上,说明接口响应的一些信息。1
2
3
4
5
6
7
8
9
10less复制代码@RestController
@Api(tags = "Swagger测试类")
public class SwaggerTestController {
@ApiResponse(code = 200,message = "success", response = StudentResponse.class)
@RequestMapping(value = "test-swagger",method = RequestMethod.GET)
@ApiOperation(value = "查询学生详情",notes = "参数为id")
public StudentResponse dyTest(){
return new StudentResponse();
}
}效果如下:
二、ApiResponses
- 上面的只定义了
200
的状态码,如果是500
呢?
@ApiResponses
就是多个@ApiResponse
组装起来。1
2
3
4
5
6
7
8
9
10
11
12less复制代码@RestController
@Api(tags = "Swagger测试类")
public class SwaggerTestController {
// @ApiResponse(code = 200,message = "success", response = StudentResponse.class)
@ApiResponses({@ApiResponse(code = 200,message = "success", response = StudentResponse.class),
@ApiResponse(code = 500,message = "failed", response = StudentResponse.class)})
@RequestMapping(value = "test-swagger",method = RequestMethod.GET)
@ApiOperation(value = "查询学生详情",notes = "参数为id")
public StudentResponse dyTest(){
return new StudentResponse();
}
}效果如下:
三、ApiImplicitParam
- 如果我们的参数较少的时候,比如,根据id查询指定数据详细信息的时候,我们总不能单独建个实体来描述吧?
- 通常我们的做法时,五个参数以下时,可以通过
ApiImplicitParam
来对参数进行描述。 - 当然,只限于
Get
请求,如果是添加、修改等操作,Post
、Put
请求时还是以实体类为主!
@ApiImplicitParam
用于方法上,为单独的请求参数进行说明。1
2
3
4
5
6
7
8
9
10
11
12less复制代码@RestController
@Api(tags = "Swagger测试类")
public class SwaggerTestController {
@ApiResponses({@ApiResponse(code = 200,message = "success", response = StudentResponse.class),
@ApiResponse(code = 500,message = "failed", response = StudentResponse.class)})
@RequestMapping(value = "test-swagger",method = RequestMethod.GET)
@ApiOperation(value = "查询学生详情",notes = "参数为id")
@ApiImplicitParam(name = "id", value = "学生ID", dataType = "string", paramType = "query", required = true, defaultValue = "1")
public StudentResponse dyTest(String id){
return new StudentResponse();
}
}效果如下:
四、ApiImplicitParams
- 多个参数时,
ApiImplicitParam
可能就满足不了我们的要求了,这时候需要组装下!
同样的,多个
@ApiImplicitParam
组装起来。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15less复制代码@RestController
@Api(tags = "Swagger测试类")
public class SwaggerTestController {
@ApiResponses({@ApiResponse(code = 200,message = "success", response = StudentResponse.class),
@ApiResponse(code = 500,message = "failed", response = StudentResponse.class)})
@RequestMapping(value = "test-swagger",method = RequestMethod.GET)
@ApiOperation(value = "查询学生详情",notes = "参数为id")
// @ApiImplicitParam(name = "id", value = "学生ID", dataType = "string", paramType = "query", required = true, defaultValue = "1")
@ApiImplicitParams({@ApiImplicitParam(name = "id", value = "学生ID", dataType = "string", paramType = "query", required = true, defaultValue = "1"),
@ApiImplicitParam(name = "name", value = "学生姓名", dataType = "string", paramType = "query", required = true, defaultValue = "1")})
public StudentResponse dyTest(String id){
return new StudentResponse();
}
}
效果如下:
总结
- 到这里
Swagger
系列是真的结束了。再也没有东西可讲了。 - 看完本系列的所有文章,相信你对
Swagger
有了相对来说比较深得了解了。 - 希望对你有所帮助,本系列不说是全网最详细也差不多啦吧!
- 哈哈哈,我可以整理了很多的才最终整合出来的!
- 本系列文章都是个人见解,如有不对,敬请指出~
- 轻喷!谢谢~
路漫漫其修远兮,吾必将上下求索~
如果你认为i博主写的不错!写作不易,请点赞、关注、评论给博主一个鼓励吧~hahah
本文转载自: 掘金