项目

一般

简介

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的属性