Swagger中paramType

Swagger中paramType
paramType:表示參數放在哪個地方
header–>請求參數的獲取:@RequestHeader(代碼中接收註解)
query–>請求參數的獲取:@RequestParam(代碼中接收註解)
path(用於restful接口)–>請求參數的獲取:@PathVariable(代碼中接收註解)
body–>請求參數的獲取:@RequestBody(代碼中接收註解)
form(不常用)

demo_query:

	@GetMapping("getList")
    @ApiOperation("列表查詢接口")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "current", value = "當前頁碼,默認1", example = "1",
                    paramType = "query", dataType = "int", required = false),
            @ApiImplicitParam(name = "pageSize", value = "每頁顯示條數,默認10", example = "10",
                    paramType = "query", dataType = "int", required = false)
    })
    public Result<List<QueryListVO>> getList(
            @RequestParam(value = "current", required = false, defaultValue = PageConstant.PAGE_CURRENT + "")Integer current,
            @RequestParam(value = "pageSize", required = false, defaultValue = PageConstant.PAGE_SIZE + "")Integer pageSize) {
}

在這裏插入圖片描述

demo_path:

@GetMapping("delete/{id}")
    @ApiOperation("刪除接口")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "id",
                    example = "10086", paramType = "path", required = true, dataType = "long")
    })
    public Result delete(@PathVariable("id") Long id) {
}

在這裏插入圖片描述

demo_form:

 @PostMapping(value = "add", headers = "content-type=multipart/form-data")
    @ApiOperation("附件保存接口(多文件上傳不支持swagger測試)")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "*id", example = "10086", paramType = "form", required = true),
            @ApiImplicitParam(name = "status", value = "附件狀態", example = "3",
                    paramType = "form", allowableValues = "2,3", required = true)
    })
    public Result add(AddDTO addDTO,
                      @ApiParam(value = "*附件") @RequestParam(value = "materialSigns", required = false)
                              MultipartFile[] file,
                     ) {

在這裏插入圖片描述
設置addDTO不在文檔中生成

.ignoredParameterTypes(AddDTO.class)

@Bean
    public Docket createRestApi() {
        List<ResponseMessage> responseMessageList = new ArrayList<>();
        responseMessageList.add(new ResponseMessageBuilder().code(401).message("未經授權")
                .responseModel(new ModelRef("Result")).build());
        responseMessageList.add(new ResponseMessageBuilder().code(404).message("找不到資源")
                .responseModel(new ModelRef("Result")).build());
        responseMessageList.add(new ResponseMessageBuilder().code(500).message("服務器內部錯誤")
                .responseModel(new ModelRef("Result")).build());

        return new Docket(DocumentationType.SWAGGER_2)
                .globalResponseMessage(RequestMethod.GET, responseMessageList)
                .globalResponseMessage(RequestMethod.POST, responseMessageList)
                .globalResponseMessage(RequestMethod.PUT, responseMessageList)
                .globalResponseMessage(RequestMethod.DELETE, responseMessageList)
                .apiInfo(apiInfo())
                .ignoredParameterTypes(AddDTO.class)//不生成文檔的類
                .select()                       //按條件指定生成文檔接口
                .paths(PathSelectors.any())
                .build();
    }
發佈了38 篇原創文章 · 獲贊 4 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章