springboot集成swagger2时get方式传参报错

1.springboot集成swagger2时get方式传参在swagger-ui.html中相应的api中明明为参数username赋值了。

但是在发送之后总是提示“Required String parameter‘username’ is not present”。需要说明的是我在 controller的方法里已经给这个参数注明是不可空的。但是我在swagger里是传了参的。并且自己直接在浏览器地址栏里写url:127.0.0.1:8088/hello3?username=wjk后台也是可以接收到的,说明是swagger这块配置有问题

 @ApiOperation(value="Swagger测试1",notes="Swagger测试2")
    @ApiImplicitParams({
    @ApiImplicitParam(name="username",value="用户姓名",required=true,dataType="String")
    })
    @RequestMapping(value = "/hello3", method = RequestMethod.GET)


查网上 看了很多springboot继承swagger的博客,很可惜,要么说是get方法改成post方法,要么说是把required=true去掉,一一试了,都没有用

还有一些demo,简直长的一摸一样,虽然有例子,但是都是通过动态绑定requestmapping("/{id}")这样的。跟我的需求也不一样。

所以只能自己琢磨

最后终于发现了,是在@ApilmplicitParam中少了一个参数 paramType="query" 加在后面就行了。(网上的例子要么没写,要么都是写成path了。我估计都是抄的)。

这个属性是指定参数放的位置的。

  • paramType:参数放在哪个地方
    • header-->请求参数的获取:@RequestHeader
    • query-->请求参数的获取:@RequestParam
    • path(用于restful接口)-->请求参数的获取:@PathVariable
    • body(不常用)
    • form(不常用)
你可以试下加上这个属性。


  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值