常用注解
@Api
用于类名
示例:
@Api(tags = "客户")@RestController@RequestMapping("/customer")public class CustomerController {}
@ApiOperation
用于方法名
示例:
/*** 查询客户列表*/@ApiOperation(value="查询客户列表",response = Customer.class)@GetMapping("/list")public TableDataInfo list(Customer customer){startPage();List<Customer> list = customerService.selectCustomerList(customer);return getDataTable(list);}
@ApiModel
用于实体类
示例:
@Data@ApiModel("客户")public class Customer{}
@ApiModelProperty
用于实体类属性
示例:
@Data@ApiModel("客户")public class Customer{/*** 客户名称*/@ApiModelProperty("客户名称")private String name;}
隐藏某个字段
@ApiModelProperty(hidden = true)
@ApiImplicitParams
@ApiImplicitParams:用在请求的方法上,包含一组参数说明
@ApiImplicitParam:用在 @ApiImplicitParams 注解中,指定一个请求参数的配置信息
name:参数名
value:参数的汉字说明、解释
required:参数是否必须传
paramType:参数放在哪个地方
· header —> 请求参数的获取:@RequestHeader
· query —> 请求参数的获取:@RequestParam
· path(用于restful接口)—> 请求参数的获取:@PathVariable
· body(不常用)
· form(不常用)
dataType:参数类型,默认String,其它值dataType=”Integer”
defaultValue:参数的默认值
用于参数说明
示例:
/*** 获取客户详细信息*/@ApiOperation(value="获取客户详细信息",response = Customer.class)@ApiImplicitParams({@ApiImplicitParam(name = "name", value = "客户姓名")})@GetMapping(value = "/getInfo")public AjaxResult getInfo(String name){return AjaxResult.success(customerService.selectCustomerById(id));}
常见问题
@ApiResponse 的 response 不起作用
springfox:documentation:swagger:use-model-v3: false
参考
https://blog.csdn.net/u014231523/article/details/54562695
