目标:通过swagger和dubbo集成在代码中添加注释自动在swagger ui中生成接口文档
常用注解:
- @Api()用于类,表示标识这个类是swagger的资源
- @ApiOperation()用于方法,表示一个http请求的操作,在我们这边表示一个rpc请求
- @ApiParam()用于方法,参数,字段说明,表示对参数的添加元数据(说明或是否必填等)
- @ApiModel()用于类,表示对类进行说明,用于参数用实体类接收
- @ApiModelProperty()用于方法,字段,表示对model属性的说明或者数据操作更改
- @ApiIgnore()用于类,方法,方法参数,表示这个方法或者类被忽略
具体使用举例说明:
@Api()
用于类;表示标识这个类是swagger的资源
tags–表示说明
value–也是说明,可以使用tags替代
但是tags如果有多个值,会生成多个list
@Api
(value=
"用户service"
,tags={
"用户操作接口"
})
public
interface
UserService {
}
@ApiOperation() 用于方法;表示一个http请求的操作
value用于方法描述
notes用于提示内容
tags可以重新分组(视情况而用)
@ApiParam() 用于方法,参数,字段说明;表示对参数的添加元数据(说明或是否必填等)
name–参数名
value–参数说明
required–是否必填
value用于方法描述
notes用于提示内容
tags可以重新分组(视情况而用)
@ApiParam() 用于方法,参数,字段说明;表示对参数的添加元数据(说明或是否必填等)
name–参数名
value–参数说明
required–是否必填
@Api
(value=
"用户service"
,tags={
"用户操作接口"
})
public
interface
UserService {
@ApiOperation
(value=
"获取用户信息"
,tags={
"获取用户信息copy"
},notes=
"注意问题点"
)
public
User getUserInfo(
@ApiParam
(name=
"id"
,value=
"用户id"
,required=
true
) Long id,
@ApiParam
(name=
"username"
,value=
"用户名"
) String username) {
//业务逻辑
}
}
@ApiModel()用于类 ;表示对类进行说明,用于参数用实体类接收
value–表示对象名
description–描述
都可省略
@ApiModelProperty()用于方法,字段; 表示对model属性的说明或者数据操作更改
value–字段说明
name–重写属性名字
dataType–重写属性类型
required–是否必填
example–举例说明
hidden–隐藏
value–表示对象名
description–描述
都可省略
@ApiModelProperty()用于方法,字段; 表示对model属性的说明或者数据操作更改
value–字段说明
name–重写属性名字
dataType–重写属性类型
required–是否必填
example–举例说明
hidden–隐藏
@ApiModel
(value=
"user对象"
,description=
"用户对象user"
)
public
class
User
implements
Serializable{
private
static
final
long
serialVersionUID = 1L;
@ApiModelProperty
(value=
"用户名"
,name=
"username"
,example=
"xingguo"
)
private
String username;
@ApiModelProperty
(value=
"状态"
,name=
"state"
,required=
true
)
private
Integer state;
private
String password;
private
String nickName;
private
Integer isDeleted;
@ApiModelProperty
(value=
"id数组"
,hidden=
true
)
private
String[] ids;
private
List<String> idList;
//省略get/set
}
@ApiOperation
(
"更改用户信息"
)
public
int
updateUserInfo(
@ApiParam
(name=
"用户对象"
,value=
"传入json格式"
,required=
true
) User user){
int
num = userService.updateUserInfo(user);
return
num;
}