使用Swagger2的@ApiImplicitParam注解遇到的坑

举报
隔壁老汪 发表于 2022/06/25 01:04:58 2022/06/25
【摘要】 使用的是前后台分离框架,后台有个打印接口传参的aop,会打印所有接口接收到的参数。当接口类型是get时一切正常,但是post类型时,在本机的swagger上测试都正常,但是到了linux服务器是时,却出现有的时候有参数打印,有时则是打印的null的情况。 找了好久才发现问题所在:1.在用@ApiImplicitParam配置参数时,将...

使用的是前后台分离框架,后台有个打印接口传参的aop,会打印所有接口接收到的参数。当接口类型是get时一切正常,但是post类型时,在本机的swagger上测试都正常,但是到了linux服务器是时,却出现有的时候有参数打印,有时则是打印的null的情况。

找了好久才发现问题所在:1.在用@ApiImplicitParam配置参数时,将paramType设置成了query,导致swagger在发送post请求时也在request在的url附加了参数,于是url和body里面都存在参数了。   2.aop里面获取request参数的时候,直接用的是getQueryString(),而这个方法只能获取到url里面的参数。

因为这两个错误导致我在swagger上测试的时候,get和post请求都能正常打印参数。但是到了服务器上后,由于有手机app端发送post请求,而这个请求就不会再在url里面附加参数了,所以后台打印的都是null,而另外一些正常的打印则都是通过服务器swagger发送的请求。
 

文章来源: blog.csdn.net,作者:隔壁老瓦,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/wxb880114/article/details/89513867

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。