• springboot微服务前端传参数至后端的几个方式,@RequestBody如何传入多个参数



    一、问题

    在接口测试工具中,常常要传入参数,初学者–也就是我菜鸡经常传错参数,不明白在Query还是Body里面传参,以及测试工具(AxxPoxx)测试下载接口的时候为什么发送数据成功却没有下载文档下来
    后端参数传输方式


    二、解决

    querybody
    get,post。query参数拼接在地址上post
    注意:params只能是一个字符串不能传递对象类型的参数若参数涉及传递对象,要用body
    post
    post
    post
    post

    1.HttpServletRequest

    (1)在数据中使用占位符(如需要传入的参数在数据库中使用的话)就可以获得;在这里插入图片描述

    (2)直接使用getParameter就可以获得前端传来的参数
    在这里插入图片描述

    更多用法参考站长严长生

    2.直接在地址栏上传入参数

    使用@PathVariable注解:接收请求路径中占位符的值
    上面的HttpServletRequest方式改成这种方式为:

    @RequestMapping(value="/history/updateType/{user_id}/{type}")
    public Object updateType(@PathVariable("user_id")String userId,@PathVariable("type")String type)
    
    • 1
    • 2

    在访问接口地址的时候直接将要传入的参数放在占位符的位置即可。如上面接口访问,请求路径为

    http://localhost:8080/history/updateType/001/1
    
    • 1

    注意:使用@RequestParam也可以直接在地址栏上输入传入的参数,只是路径变为http://localhost:8080/history/updateType?user_id&type=1

    代码中的请求路径为
    在这里插入图片描述

    3.@RequestParam()

    传多个参数的时候,与@RequestBody一样,用对象接收多个参数,详看下下面的@RequestBody传多个参数

    4.使用@RequestBody如何传入多个参数

    受益匪浅justry_deng
    (1)首先要知道 @RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);
    在这里插入图片描述
    在这里插入图片描述
    (2)@RequestBody一般使用post方式提交。并且
    一个请求,只有一个RequestBody,但是可以有多个RequestParam
    (3)那么问题是,只有一个RequestBody的时候,当我想要前端传过来多个参数怎么办?
    先来看一个参数
    在这里插入图片描述
    再来看多个参数
    在这里插入图片描述

    5.@RequestParam,@PathParam,@PathVariable等注解区别

    简短有力一年e度的夏天
    @RequestParam与@PathVariable区别
    清晰明了古柏树下
    在这里插入图片描述

    6.AxxPOxx测试接口工具如何使用下载类的接口

    如接口实现的是下载excel表,那么使用流将路径在测试工具中使用发现没有返回结果。其实只需要把地址路径复制粘贴至浏览器中即可下载。


    三、歉意

    我是在学习的过程中遇到的对我有帮助的博文就放链接至我的博文上,记录问题以防走丢。若侵权请联系我。我一定配合。感谢。

  • 相关阅读:
    springBoot--web--http缓存机制测试
    QTday2
    Python入门学习篇(一)——注释&变量&输入输出
    java-net-php-python-java交通事故档案管理系统PPT计算机毕业设计程序
    交互作用分析时遇到的问题求解
    MySql死锁
    初学者必看,前端 Debugger 调试学习
    MySQL binlog归档日志和redo log事务日志详解
    【Hack The Box】windows练习-- Bounty
    ‘vue‘ 不是内部或外部命令,也不是可运行的程序或批处理文件
  • 原文地址:https://blog.csdn.net/weixin_43930851/article/details/126272215