Swagger2中@ApiImplicitParam注解paramType属性使用的注意事项

paramType属性表示参数放在哪里,主要有以下几个属性:

header : 请求参数的获取:@RequestHeader
query : 请求参数的获取:@RequestParam
path : 请求参数的获取:@PathVariable
body : 请求参数的获取:@RequestBody
form : 不常用

1、先理解@PathVariable和@RequestParam的区别:
@PathVariable是获取url上数据的。
@RequestParam获取请求参数的(包括post表单提交)

2、情况1:paramType = “query”
写法1:

@RequestMapping(value = "/abc",method = RequestMethod.GET)
    public 返回参数 method(String param){
        ...
    }

写法2:

@RequestMapping(value = "/abc",method = RequestMethod.GET)
    public 返回参数 method(@RequestParam("param") String param){
        ...
    }

3、情况2:paramType = “path”
如果@RequestMapping中表示为”item/{id}”,id和形参名称一致,@PathVariable不用指定名称。如果不一致,例如”item/{ItemId}”则需要指定名称@PathVariable(“itemId”)。
3.1 参数名一致

@RequestMapping(value = "/abc/{param}",method = RequestMethod.GET)
    public 返回参数 method(@PathVariable String param){
        ...
    }

3.2 参数名不一致,添加别名

@RequestMapping(value = "/abc/{param1}",method = RequestMethod.GET)
    public 返回参数 method(@PathVariable("param1") String param2){
        ...
    }

如果使用了paramType = "query"属性,但是传入参数使用@PathVariable会报错。

参考文章:

  1. https://blog.csdn.net/xhyxxx/article/details/76111196
  • 4
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周公解码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值