目標:通過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;
}