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();
}