在接口测试工具中,常常要传入参数,初学者–也就是我菜鸡经常传错参数,不明白在Query还是Body里面传参,以及测试工具(AxxPoxx)测试下载接口的时候为什么发送数据成功却没有下载文档下来
后端参数传输方式
| query | body |
|---|---|
| get,post。query参数拼接在地址上 | post |
| 注意:params只能是一个字符串,不能传递对象类型的参数 | 若参数涉及传递对象,要用body |
| post | |
| post | |
| post | |
| post |
(1)在数据中使用占位符(如需要传入的参数在数据库中使用的话)就可以获得;
(2)直接使用getParameter就可以获得前端传来的参数

更多用法参考站长严长生
使用@PathVariable注解:接收请求路径中占位符的值
上面的HttpServletRequest方式改成这种方式为:
@RequestMapping(value="/history/updateType/{user_id}/{type}")
public Object updateType(@PathVariable("user_id")String userId,@PathVariable("type")String type)
在访问接口地址的时候直接将要传入的参数放在占位符的位置即可。如上面接口访问,请求路径为
http://localhost:8080/history/updateType/001/1
注意:使用@RequestParam也可以直接在地址栏上输入传入的参数,只是路径变为http://localhost:8080/history/updateType?user_id&type=1
代码中的请求路径为

传多个参数的时候,与@RequestBody一样,用对象接收多个参数,详看下下面的@RequestBody传多个参数
受益匪浅justry_deng
(1)首先要知道 @RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);


(2)@RequestBody一般使用post方式提交。并且
一个请求,只有一个RequestBody,但是可以有多个RequestParam
(3)那么问题是,只有一个RequestBody的时候,当我想要前端传过来多个参数怎么办?
先来看一个参数

再来看多个参数

简短有力一年e度的夏天
@RequestParam与@PathVariable区别
清晰明了古柏树下

如接口实现的是下载excel表,那么使用流将路径在测试工具中使用发现没有返回结果。其实只需要把地址路径复制粘贴至浏览器中即可下载。
我是在学习的过程中遇到的对我有帮助的博文就放链接至我的博文上,记录问题以防走丢。若侵权请联系我。我一定配合。感谢。