用Java语言创建的Spring Boot项目中,对前端传递来的参数名字不顺眼,作为后端如何将参数改名?

在进行前后端交互的过程中,哪怕在有需求文档的情况下,前后端的参数也有可能发生错误(参数名称不一致的情况),那么在这种情况下,如何进行更改??总不能去胁迫前端/后端开发者去更改代码吧!代码很简洁的话,没点额问题,但是对于一个企业级代码,动不动几万行起,这种该如何操作??

别急,来看小编带你走进在Java语言中创建的Spring Boot项目中,对前端传递来的参数名字不顺眼,作为后端如何将参数改名

假设:前端给我传来一个名称为name的参数:

复制代码
@RestController
@RequestMapping("/param")
public class ParamController {

    @RequestMapping("/m1")
    public String m1(String name){
        return "这是你的姓名:"+name;
    }
}

上面代码没点额问题!!

启动程序,在浏览器输入:localhost:8080/param/m1?name=zhangsan

浏览器上运行结果为:

当然,我们偷摸着用Postman来进行处理一下:

毫无疑问,上述代码没点额问题!!

问题1:

那么问题来了,前端传递给我的名称,我后端不知道(看着不顺眼),自己设置的名称为username,那么,当我们在浏览器将输入的name更改为username,会出现什么情况??
在浏览器输入:localhost:8080/param/m1?username=zhangsan

浏览器显示的结果为:

当然,我们偷摸着用Postman来进行处理一下:

然而,我们想要的不是这种效果,我们想要的是:前端虽然传递给我一个name的参数,但是,在后端将参数名称修改为username,并且可以成功显示在浏览器终端!!

解决方案:

通过@RequestParam()注解来进行操作!

那么,请看笔者的代码:

复制代码
    //前端传递的参数,后端不喜欢,因此需要修改参数名称
    //name(前端)----->username(后端)
    @RequestMapping("/m4")
    public String m4(@RequestParam("name") String username){
        return "这是你的姓名:"+username;
    }

在上述代码中,最主要的操作就是:将前端传递来的参数name,在后端被更改为username,并且能确保代码没啥问题!!

修改好代码,并启动程序!

在浏览器输入:localhost:8080/param/m4?name=zhangsan

运行结果为:

当然,我们偷摸着用Postman来进行处理一下:

上面代码是没啥问题的!当然,这个没啥问题是仅仅对传递了参数而言!!尴尬

问题2:

当我们不对name进行传递的时候,会有如下情况:

在浏览器中输入:localhost:8080/param/m4

运行结果为:

简而言之:必传参数name不存在,然后报错了!

当然,我们偷摸着用Postman来进行处理一下:

这也另一方面的证明了name变成了必传参数!!

解决方案:

那么,我们点进@RequestParam()的源码来处理一下:

最后的处理方案,就是顺便将其设置为非必须参数,true----->false!!

因此,有着下述代码:

复制代码
    //前端传递的参数,后端不喜欢,因此需要修改参数名称
    //name(前端)----->username(后端)
    @RequestMapping("/m4")
    public String m4(@RequestParam(value = "name",required = false) String username){
        //required = false  表示非必传参数!!
        return "这是你的姓名:"+username;
    }

修改好代码以后,启动程序!

当我们传参数name的时候:localhost:8080/param/m4?name=zhangsan

当我们不传递参数name的时候:localhost:8080/param/m4

最终不在进行报错了!!这便是将name修改为非必传参数了!!

当然,我们偷摸着用Postman来进行处理一下:

当我们传递参数name的时候:http://localhost:8080/param/m4?name=zhangsan​

当我们不传递参数name 的时候:http://localhost:8080/param/m4

最终不在进行报错了!!这便是将name修改为非必传参数了!!

到此为止,本文:**用Java语言创建的Spring Boot项目中,对前端传递来的参数名字不顺眼,作为后端如何将参数改名?**便结束了!

相关推荐
平头哥技术团队1 小时前
Day 21 _ 页内锚点_给每段起个 id,目录写 href=_#id_,点一下页面就滚到那一段
前端·html·html5
wuyk5551 小时前
从零吃透 MQTT 通信|第 8 章 FreeRTOS 多任务架构下 MQTT 工程架构,任务拆分、队列解耦、临界区保护
c语言·开发语言·stm32·学习·架构
weixin199701080161 小时前
[特殊字符]《跨境二手ERP对接Back Market:标准化API + 7~10工作日技术合规审核实录》(附Python源码)
开发语言·python·pandas
sunshine22 girl1 小时前
Java学习一 环境配置2 Idea的入门使用和maven配置,项目启动脚本配置
java·maven
尘客-追梦1 小时前
Day 01:插件化之前,先看清 ABI 这堵墙
开发语言·c++·qt
持敬chijing2 小时前
Python-数据类型-列表
开发语言·python·青少年编程
有点。2 小时前
*C++哈夫曼树与哈夫曼编码
java·c++·servlet
子兮曰2 小时前
Bun v1.4.1 深度解析:从 Zig 到 Rust,一场 11 天、64 个 AI 代理的语言迁徙
前端·后端·bun
人民广场吃泡面2 小时前
什么是AI Agent?它又能给前端带来哪些效率提升?
前端·人工智能
中科三方2 小时前
两家域名注册商资质被ICANN终止:企业域名资产安全再受关注
前端·网络·安全·域名