常用注解

@Api

用于类名

示例:

  1. @Api(tags = "客户")
  2. @RestController
  3. @RequestMapping("/customer")
  4. public class CustomerController {
  5. }

@ApiOperation

用于方法名

示例:

  1. /**
  2. * 查询客户列表
  3. */
  4. @ApiOperation(value="查询客户列表",response = Customer.class)
  5. @GetMapping("/list")
  6. public TableDataInfo list(Customer customer){
  7. startPage();
  8. List<Customer> list = customerService.selectCustomerList(customer);
  9. return getDataTable(list);
  10. }

@ApiModel

用于实体类

示例:

  1. @Data
  2. @ApiModel("客户")
  3. public class Customer{
  4. }

@ApiModelProperty

用于实体类属性

示例:

  1. @Data
  2. @ApiModel("客户")
  3. public class Customer{
  4. /**
  5. * 客户名称
  6. */
  7. @ApiModelProperty("客户名称")
  8. private String name;
  9. }

隐藏某个字段

  1. @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:参数的默认值

用于参数说明

示例:

  1. /**
  2. * 获取客户详细信息
  3. */
  4. @ApiOperation(value="获取客户详细信息",response = Customer.class)
  5. @ApiImplicitParams({
  6. @ApiImplicitParam(name = "name", value = "客户姓名")
  7. })
  8. @GetMapping(value = "/getInfo")
  9. public AjaxResult getInfo(String name)
  10. {
  11. return AjaxResult.success(customerService.selectCustomerById(id));
  12. }

常见问题

@ApiResponse 的 response 不起作用

  1. springfox:
  2. documentation:
  3. swagger:
  4. use-model-v3: false

参考

https://blog.csdn.net/u014231523/article/details/54562695

https://blog.csdn.net/jiangyu1013/article/details/83107255

swagger2 @ApiResponse的response不起作用)