常用注解
@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