swagger + springboot
2024-09-28 14:54:38
参考文章: https://blog.csdn.net/xupeng874395012/article/details/68946676/
https://blog.csdn.net/hry2015/article/details/72353994/
Api
用在Controller中,标记一个Controller作为swagger的文档资源
属性名称 | 说明 |
---|---|
value |
Controller的注解 |
description | 对api资源的描述 |
hidden | 配置为true 将在文档中隐藏 |
使用方法:
1 @Api(value = "登录服务",description = "用户登录相关接口")
2 @RestController("loginControllerLayui")
3 @RequestMapping("/login")
4 public class LoginController {
5 }
ApiOperation
该注解用在Controller的方法中,用于注解接口
属性名称 | 说明 |
---|---|
value | 接口的名称 |
notes | 接口的注释 |
response | 接口的返回类型,比如说:response = String.class |
hidden | 配置为true 将在文档中隐藏 |
使用方法:
@ApiOperation(value = "获取验证码图片",notes = "每调用一次,就会随机生成一张验证码图片",response = String.class)
@GetMapping("/verifyCode.img")
public String getVerifyCode(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
}
ApiParam
该注解用在方法的参数中。
属性名称 | 说明 |
---|---|
name | 参数名称 |
value | 参数值 |
required | 是否必须,默认false |
defaultValue | 参数默认值 |
type | 参数类型 |
hidden | 隐藏该参数 |
使用方法:
@ApiOperation(value = "添加权限",notes = "插入权限",response = JsonData.class)
@PostMapping("/insertAcl.json")
public JsonData insertAcl(@ApiParam(name = "param",value = "实体类AclParam",required = true) AclParam param){
}
ApiResponses/ApiResponse
该注解用在Controller的方法中,用于注解方法的返回状态。
属性名称 | 说明 |
---|---|
code | http的状态码 |
message | 状态的描述信息 |
response | 状态相应,默认响应类 Void |
使用方法:
@ApiOperation(value = "菜单",notes = "进入菜单界面",nickname = "菜单界面")
@ApiResponses({
@ApiResponse(code = 200,message = "成功!"),
@ApiResponse(code = 401,message = "未授权!"),
@ApiResponse(code = 404,message = "页面未找到!"),
@ApiResponse(code = 403,message = "出错了!")
})
@GetMapping("/aclModule.page")
public ModelAndView aclModule(Model model){
}
ApiModel
该注解用在实体类中。
属性名称 | 说明 |
---|---|
value | 实体类名称 |
description | 实体类描述 |
parent | 集成的父类,默认为Void.class |
subTypes | 子类,默认为{} |
reference | 依赖,默认为“” |
使用方法:
@ApiModel(value = "JsonData",description = "返回的数据类型")
public class JsonData {
}
ApiImplicitParams/ApiImplicitParam
该注解用在Controller的方法中,同ApiParam的作用相同,但是比较建议使用ApiParam。
属性名称 | 说明 |
---|---|
name | 参数名称 |
value | 参数值 |
defaultValue | 参数默认值 |
required | 是否必须 |
allowMultiple | 是否允许重复 |
dataType | 数据类型 |
paramType | 参数类型 |
使用方法:
@ApiOperation(value = "创建用户",notes = "根据User对象创建用户")
@ApiImplicitParam(name = "user",value = "用户详细实体user")
@RequestMapping(value="/", method=RequestMethod.POST)
public String postUser(@ModelAttribute User user){
}
ApiModelProperty
该注解用在实体类的字段中。
属性名称 | 说明 |
---|---|
name | 属性名称 |
value | 属性值 |
notes | 属性注释 |
dataType | 数据类型,默认为“” |
required | 是否必须,默认为false |
hidden | 是否隐藏该字段,默认为false |
readOnly | 是否只读,默认false |
reference | 依赖,,默认“” |
allowEmptyValue | 是否允许空值,默认为false |
allowableValues | 允许值,默认为“” |
使用方法:
//返回状态信息
@ApiModelProperty(name = "code",value = "状态code",notes = "返回信息的状态")
private int code;
//返回携带的信息内容
@ApiModelProperty(name = "msg",value = "状态信息",notes = "返回信息的内容")
private String msg = "";
//返回信息的总条数
@ApiModelProperty(name = "count",value = "查询数量",notes = "返回信息的条数")
private int count;
//返回对象
@ApiModelProperty(name = "data",value = "查询数据",notes = "返回数据的内容")
private Object data;
最新文章
- ACM 懒省事的小明
- 【转】在C#中使用SendMessage
- 史上最全Java表单验证封装类
- 小奇模拟赛9.13 by hzwer
- if...else..的错误用法
- 教你50招提升ASP.NET性能(一):缓存是最后的手段
- 《Mysql 公司职员学习篇》 第三章 小A的疑问
- WebSocket实时异步通信
- Properties vs. Attributes
- network-manager与interfaces冲突
- vim编译安装+lua模块
- requests-post请求
- ASP.NET Core快速入门学习笔记(第2章:配置管理)
- 关于Maven打包Java Web项目以及热部署插件Jrebel的使用
- Maven之基本概念及特性的基本介绍
- P1337 [JSOI2004]平衡点 / 吊打XXX 模拟退火
- iOS.OpenSource.PopularProject
- WorldWind源码剖析系列:配置载入器类ConfigurationLoader
- C++ main()函数及其参数
- [UE4]角色、动画蓝图、动画蒙太奇、动画之间的调用关系