swagger中注解的value和tags区别

本文详细介绍了Swagger中@Api和@ApiOperation注解的使用方法及其属性value和tags的作用与区别。通过实例展示了不同应用场景下如何合理配置这些注解以实现API文档的良好组织与展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通常我们在controller类会这么使用swagger

@Api(value = "Xxx管理", tags = "Xxx管理")
@Slf4j
@RestController
@RequestMapping("/xxx")
public class XxxController {

    @Autowired
    private IXxxService xxxService;

    @ApiOperation(value = "分页查询列表", tags = "Xxx管理")
    @RequestMapping(value = "/listPage", method = RequestMethod.POST)
    public Result listPage(@RequestBody PageParam queryParam) {
        //查询逻辑...
        return Result.ok(page);
    }
    
	@ApiOperation(value = "添加", tags = "Xxx管理")
    @RequestMapping(value = "/add", method = RequestMethod.POST)
    public Result add(@RequestBody @Validated Xxx param) {
       //添加逻辑...
       return Result.ok(xxxService.saveXxx(param));
    }

@Api注解用于描述类,@ApiOperation注解用于描述方法。两种注解都有value、tags属性,那么这两个属性的区别是什么?作用在类上 和 作用在方法上又有什么区别?


1、注解属性value、tags二者的区别?
value属性用于描述,tags用于分组。


2、注解属性value、tags二者作用在类和作用在方法上的区别?
①、value属性作用在类和作用在方法上都用于描述;
②、tags属性作用在类和作用在方法上都用于分组,但分组的效果区别很大。
      a、tags作用在类上时,会对全局的方法分组,即根据tags属性值复制多份,此时方法上的tags值无效,方法上tags配或不配效果都一样。
      b、tags作用在方法上时,会根据当前类的所有方法的tags值做分组,粒度更细。


总结: a、b两种都有使用场景,可以根据业务需要做选择。



扩展:
@ApiOperation() 用于方法;表示一个http请求的操作
value用于方法描述
notes用于提示内容
tags可以重新分组

@ApiParam() 用于方法的参数,字段说明;表示对参数的添加元数据(说明或是否必填等)
name–参数名
value–参数说明
required–是否必填

@ApiModel() 用于类 ;表示对类进行说明,用于参数用实体类接收
value–表示对象名
description–描述
都可省略

@ApiModelProperty() 用于类的字段; 表示对model属性的说明或者数据操作更改
value–字段说明
name–重写属性名字
dataType–重写属性类型
required–是否必填
example–举例说明
hidden–隐藏

@ApiIgnore() 用于类或者方法上,可以不被swagger显示在页面上


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值