获取后端接口请求中的参数(@PathVariable,@RequestParam,@RequestBody区别,使用postman请求

简介: 获取后端接口请求中的参数(@PathVariable,@RequestParam,@RequestBody区别,使用postman请求

获取参数



SpringBoot提供的获取参数注解包括:@PathVariable,@RequestParam,@RequestBody,三者的区别如下表:



一:后端接口什么都不加


postman请求后端接口


二:后端接口加@RequestParam

POST请求

@RequestParam:


① 用来处理(前端)Content-Type: 为 application/x-www-form-urlencoded或者form-data编码的内容

② 该注解有两个属性: value、required; value用来指定要传入值的id名称,required用来指示参数是否必须绑定;

注意这里Headers里不能以application/json作为Content-type,否则后台也接收不到请求


@RequestParam 来自于requestHeader中,即请求头,但是却不是JSON,这个一般就是在ajax里面没有声明(别人调用)contentType的时候,为默认的


使用如下代码可以正常进入断点

postman中使用form-data方式


postman中使用application/x-www-form-urlencoded方式

 

 

get请求:

@RequestParam:



三:后端接口加@RequestBody


@RequestBody

1:

① 该注解常用来处理Content-Type: 不是application/x-www-form-urlencoded编码的内容,例如application/json, application/xml等;

前端规定的是raw方式,那么就需要使用@RequestBody接收参数,注意这里Headers里需要以application/json作为Content-type


@Requestbody 来自于requestBody中,即请求体中。当前端或者别人传入JSON数据给你时,使用此注解,就已将传入给你的字段或者属性将与你所创建的实体类绑定到一起,不相信的可以Debug测试看看传入参数是否在这个实体里面。


可以正常进入断点

postman中使用raw   json方式


2:也可以使用map接收


后台数据接收 RequestBody 使用图


当前端或者别人传给你参数与你自己所对应的实体不相符合的时,或者别人传的参数过多又与你当前实体类的属性不符合时,那么你就需要Map去接收,因为JSON数据不是K,V吗?所以我们用Map去装它,情况如下


postman请求



三:后端接口加 @PathVariable


@PathVariable 模板变量,般用于get请求, 即 XXX/{XXXid}, 这时的XXXid可通过 @Pathvariable注解绑定它传过来的值到方法的参数上,情况如下。


postman请求,直接在url上输入传入的值




————————————————


                           版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

                     

原文链接:https://blog.csdn.net/W_317/article/details/107108538

相关文章
|
8月前
|
监控 Java 应用服务中间件
低并发编程|如何用720个请求让后端服务器瘫痪
本次故障因应用启动时未有效校验核心依赖模块初始化异常,导致后续请求处理中抛出无法捕获的错误,引发线程阻塞,最终耗尽HSF线程池,服务不可用。排查发现类初始化失败且异常未被正确处理,结合线程无限等待问题,确认为依赖初始化异常与流处理中断所致。修复措施包括加强启动校验、捕获Throwable及设置合理超时。总结指出,系统稳定性需从细节入手,防微杜渐,避免连锁故障。
低并发编程|如何用720个请求让后端服务器瘫痪
|
10月前
|
开发框架 Java 关系型数据库
在Linux系统中安装JDK、Tomcat、MySQL以及部署J2EE后端接口
校验时,浏览器输入:http://[your_server_IP]:8080/myapp。如果你看到你的应用的欢迎页面,恭喜你,一切都已就绪。
624 17
|
10月前
|
Java 关系型数据库 MySQL
在Linux操作系统上设置JDK、Tomcat、MySQL以及J2EE后端接口的部署步骤
让我们总结一下,给你的Linux操作系统装备上最强的军队,需要先后装备好JDK的弓箭,布置好Tomcat的阵地,再把MySQL的物资原料准备好,最后部署好J2EE攻城车,那就准备好进军吧,你的Linux军团,无人可挡!
291 18
|
10月前
|
开发框架 关系型数据库 Java
Linux操作系统中JDK、Tomcat、MySQL的完整安装流程以及J2EE后端接口的部署
然后Tomcat会自动将其解压成一个名为ROOT的文件夹。重启Tomcat,让新“植物”适应新环境。访问http://localhost:8080/yourproject看到你的项目页面,说明“植物”种植成功。
295 10
|
11月前
|
SQL 测试技术
除了postman还有什么接口测试工具
最好还是使用国内的接口测试软件,其实国内替换postman的软件有很多,这里我推荐使用yunedit-post这款接口测试工具来代替postman,因为它除了接口测试功能外,在动态参数的支持、后置处理执行sql语句等支持方面做得比较好。而且还有接口分享功能,可以生成接口文档给团队在线浏览。
508 2
|
JSON 前端开发 API
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
769 5
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
|
12月前
|
SQL JSON 关系型数据库
17.6K star!后端接口零代码的神器来了,腾讯开源的ORM库太强了!
"🏆 实时零代码、全功能、强安全 ORM 库 🚀 后端接口和文档零代码,前端定制返回 JSON 的数据和结构"
239 1
|
12月前
|
数据可视化 JavaScript 前端开发
利用Postman和Apipost进行API测试的实践与优化-动态参数
在API测试中,Postman和Apipost是常用的工具。Postman内置变量功能有限,面对复杂场景时需编写JavaScript脚本,增加了维护成本。而Apipost提供丰富的内置变量、可视化动态值配置和低代码操作,支持生成真实随机数据,如邮箱、手机号等,显著提升测试效率和灵活性。对于复杂测试场景,Apipost是更好的选择,能有效降低开发与维护成本,提高测试工作的便捷性和可维护性。
|
12月前
|
数据可视化 JavaScript 前端开发
从Postman到Apipost:我的动态参数测试实战踩坑记
作为一名全栈开发工程师,在开发用户中心模块时,我遇到了复杂参数API测试的挑战。最初使用Postman时,发现其在生成动态参数(如邮箱、手机号和日期)时存在诸多问题,导致测试效率低下甚至出错。例如,随机生成的邮箱格式无效等 后来,CTO推荐了Apipost,它提供了更智能的参数生成方式:支持真实邮箱、符合规范的手机号以及合法日期范围,极大提升了测试效率和准确性。通过对比,Apipost在处理复杂动态参数方面明显优于Postman,减少了维护成本并提高了团队协作效率。现在,我们已全面切换到Apipost,并利用其「参数组合测试」功能发现了多个边界条件bug。
|
安全 测试技术 API
Postman、Insomnia、SoapUI:深入探讨全局参数与目录参数
本文深入探讨Postman、Insomnia、SoapUI和EchoAPI中的全局参数与目录参数,分析其在企业级开发中的应用。全局参数适用于所有API,简化认证和语言设置;目录参数则针对特定模块,增强模块化管理。通过实际案例对比,展示这些机制如何提高开发效率、减少错误风险并增强安全性。推荐使用Postman、Insomnia和SoapUI等工具,以充分利用全局和目录参数的优势,优化API调试和调用流程。