SwaggerUI日常使用


  最近公司項目集成springFox,記錄一些swaggerUI日常使用,包括數組,文件,默認值,允許值,參數/結果類注解,響應碼..等等。

   一.參數注解:

  單參數:@ApiImplicitParam

  多參數:@ApiImplicitParams

1 @ApiImplicitParams({
2             @ApiImplicitParam(name = "pageIndex",value = "頁碼,默認值:0",dataType = "int",
3                     paramType = "query"),
4             @ApiImplicitParam(name = "pageSize",value = "頁長,默認值:20",dataType = "int",
5                     paramType = "query")
6     })

  可以看一下參數注解接口相關屬性如下:

 1 public @interface ApiImplicitParam {
 2     //參數名
 3     String name() default "";
 4     //參數作用,對應中文名
 5     String value() default "";
 6     //默認值
 7     String defaultValue() default "";
 8     //允許值的范圍,逗號分隔
 9     String allowableValues() default "";
10     //是否必傳,可以看到默認是非必填的
11     boolean required() default false;
12     //暫時沒用到
13     String access() default "";
14     //是否允許數組
15     boolean allowMultiple() default false;
16     //參數類型:int/String之類的,注:不支持integer
17     String dataType() default "";
18     //參數作用類型:比如query正常查詢參數,path表示路徑參數
19     String paramType() default "";
20     //舉例
21     String example() default "";
22 
23     Example examples() default @Example({@ExampleProperty(
24     mediaType = "",
25     value = ""
26 )}); 

  下面詳細介紹下幾種應用:

  1.文件類型:

@ApiImplicitParam(name = "file",value = "文件",dataType = "file",paramType = "query")

  2.數組,以string數組為例

@ApiImplicitParam(name = "type",value = "類型",dataType = "String",  paramType = "query",allowMultiple = true),

  3.默認值

 @ApiImplicitParam(name = "type",value = "類型",dataType = "String",paramType = "query",defaultValue = "test"),

  4.允許值,比如狀態,開關類字段,一般只支持0/1

@ApiImplicitParam(name = "status",value = "狀態",dataType = "int",paramType = "query",allowableValues = "0,1"),

       5.參數/結果類注解 一般常用@requestbody封裝的參數類,或者設定的結果類。

public void create(@ApiParam @RequestBody Entity entity)

  然后在對應的參數類中添加響應的@apimodel和@apiproperty注解   

@ApiModel
public class Entity {
    @ApiModelProperty(name = "id",value = "主鍵")
    private int id;                                     

    @ApiModelProperty(name = "type",value = "類型",)
    private String type;                                
}

  6.響應碼

@ApiResponses({
            @ApiResponse(code = 200,message = "操作成功"),
                    
    })

  在swaggerui界面的model中可以看到生成效果,這里我只加了前兩個注解  

  7.必填項,默認非必填。注:必填項一定要和接口設定一致。 

@ApiImplicitParam(name = "id",value = "id",dataType = "String", paramType = "query",required = true)

  8.路徑參數,比如接口路徑為 /type/{id},可以如下定義注解 

@ApiImplicitParam(name = "id",value = "id",dataType = "String", paramType = "path",required = true)

 

 

待補充...

 


免責聲明!

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



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