Swagger 说明¶
关于swagger restful api 的配置
在配置文件中(目前本项目配在bootstrap.yml下)
eureka: instance: status-page-url: http://${server.ip}:${server.port}/swagger-ui.html
在方法中范例
@ApiOperation(value = "查询医院基本信息", notes = "根据hosId查询医院基本信息") @ApiImplicitParams({ @ApiImplicitParam(name = "version", value = "系统的版本号", required = true, dataType = "String", paramType = "path"), @ApiImplicitParam(name = "hosId", value = "医院id", required = true, dataType = "int", paramType = "form") }) @ApiResponses({ @ApiResponse(code = 404, message = "请求路径错误"), @ApiResponse(code = 400, message = "参数类型或者参数名错误") }) @PostMapping("/getInfo/{version}") public Response<HospitalObj> getInfo(@PathVariable("version") String version, @RequestParam("hosId") int hosId) { return hospitaiService.getInfo(hosId); }
具体配置项说明:
@Api:用在类上,说明该类的作用
@ApiOperation:用在方法上,说明方法的作用
@ApiImplicitParams:用在方法上包含一组参数说明
@ApiImplicitParam:用在@ApiImplicitParams注解中,指定一个请求参数的各个方面
paramType:参数放在哪个地方 header-->请求参数的获取:@RequestHeader query-->请求参数的获取:@RequestParam path(用于restful接口)-->请求参数的获取:@PathVariable body(不常用) form(不常用) name:参数名 dataType:参数类型 required:参数是否必须传 value:参数的意思 defaultValue:参数的默认值
@ApiResponses:用于表示一组响应
@ApiResponse:用在@ApiResponses中,一般用于表达一个错误的响应信息
code:数字,例如400 message:信息,例如"请求参数没填好" response:抛出异常的类
@ApiModel:描述一个Model的信息(这种一般用在post创建的时候,使用@RequestBody这样的场景,请求参数无法使用@ApiImplicitParam注解进行描述的时候)
@ApiModelProperty:描述一个model的属性