Swagger部署和dubbo集成之swagger注解


目標:通過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–是否必填
 
@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–隱藏
 
@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;
   }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM