使用Swagger2的@ApiImplicitParam注解遇到的坑
【摘要】
使用的是前后台分离框架,后台有个打印接口传参的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)