swagger中注解的value和tags区别

通常我们在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显示在页面上


  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Swagger2是一个用于生成RESTful API文档的框架,它可以根据代码自动生成API文档,方便开发者进行API测试和调用。下面是Swagger2注解的介绍和演示: 1.@Api:用于类上,表示该类是Swagger2的资源。 2.@ApiOperation:用于方法上,表示一个HTTP请求的操作。 3.@ApiParam:用于参数上,用来描述参数。 4.@ApiModel:用于类上,表示对类进行说明,用于参数用实体类接收的情况。 5.@ApiModelProperty:用于属性上,描述响应类的属性。 6.@ApiIgnore:用于类或者方法上,表示该类或方法不会被Swagger2处理。 下面是一个使用Swagger2注解的示例: ```java @RestController @Api(tags = "用户管理") @RequestMapping("/user") public class UserController { @Autowired private UserService userService; @ApiOperation(value = "获取用户列表", notes = "获取所有用户列表") @GetMapping("/list") public List<User> list() { return userService.list(); } @ApiOperation(value = "添加用户", notes = "添加一个新用户") @PostMapping("/add") public String add(@ApiParam(name = "user", value = "用户信息", required = true) @RequestBody User user) { userService.add(user); return "success"; } @ApiOperation(value = "更新用户", notes = "根据用户ID更新用户信息") @PutMapping("/update/{id}") public String update(@ApiParam(name = "id", value = "用户ID", required = true) @PathVariable Long id, @ApiParam(name = "user", value = "用户信息", required = true) @RequestBody User user) { userService.update(id, user); return "success"; } @ApiOperation(value = "删除用户", notes = "根据用户ID删除用户") @DeleteMapping("/delete/{id}") public String delete(@ApiParam(name = "id", value = "用户ID", required = true) @PathVariable Long id) { userService.delete(id); return "success"; } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值