【JavaEE】_Spring MVC 项目单个及多个参数传参

目录

 1. 传递单个参数

1.1 关于参数名的问题

2. 传递多个参数

2.1 关于参数顺序的问题

2.2 关于基本类型与包装类的问题


 1. 传递单个参数

现创建Spring MVC项目,.java文件内容如下:

package com.example.demo.controller;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RequestMapping("/Para")
@RestController
public class ParaController {@RequestMapping("/M1")public String m1(String name){return "Parameter has Received: Name:"+name;}
}

运行启动类,使用Postman向目标地址发送一个GET请求,将待传参数置于query string中,发送的请求与得到的响应如下::

1.1 关于参数名的问题

请注意:客户端传递给服务器的参数应与服务器创建的参数名相同

对于传递单个参数的底层逻辑就是从请求的参数中获取参数名为name的值,并给name赋值;

2. 传递多个参数

在Spring MVC项目的.java文件内容如下:

package com.example.demo.controller;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RequestMapping("/Para")
@RestController
public class ParaController {@RequestMapping("/M2")public String M2(String name, Integer age){return "Parameters have received: \n"+ "Name: "+name + "; Age: "+age;}
}

运行启动类后,构造HTTP请求并发送,详情如下:

2.1 关于参数顺序的问题

注:多个参数传参,与参数的顺序无关,仅与参数名是否匹配有关;

2.2 关于基本类型与包装类的问题

现以基本类型 int 与 包装类Integer 为例:

现Spring MVC项目的.java文件内容如下:

package com.example.demo.controller;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RequestMapping("/Para")
@RestController@RequestMapping("/M3")public String M3(String name, int age){return "Parameters have received: \n"+ "Name: "+name + "; Age: "+age;}
}

示例1:当 int 型参数有具体传参时:

运行启动类,构造HTTP请求并发送,详情如下: 

可见接收正常,返回正常;

示例2:当 int 型参数没有具体传参时:

启动运行类,构造HTTP请求并发送,详情如下:

查看报错信息如下:

建议:在开发中尽量使用包装类,如果使用基本类型的参数,必须要传值(除了boolean类型)

关于包装类的问题,可查看数据结构专栏包装类与泛型一文,链接如下:

【数据结构】_包装类与泛型-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/m0_63299495/article/details/136436372

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/517749.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器人编程学习有哪些好处?

机器人编程学习有许多好处,无论是对个人还是对社会都具有重要意义。以下是机器人编程学习的一些好处: 1. **培养计算思维:** 通过机器人编程学习,可以培养逻辑思维、问题解决能力和创新思维。编程过程中需要分析问题、设计算法、…

使用数据库实现增删改查

#include<myhead.h>//定义添加数据函数int do_add(sqlite3 *ppDb) {//1.准备sql语句,输入要添加的信息int add_numb; //工号char add_name[20]; //姓名char add_sex[10]; //性别double add_score; //工资printf("请输入要添加的工号:")…

【MySQL】-知识点整理

1、存储引擎 -- 查询数据库支持的存储引擎 show engines; -- 查询当前数据库使用的存储引擎 show variables like %storage_engines%; 主要的存储引擎说明&#xff1a; 1&#xff09;MyISAM&#xff1a;无外键、表锁、所有索引都是非聚簇索引、无事务、记录表总条数、删除表…

mac报错:zsh: command not found: npm

1、问题概述&#xff1f; 在mac系统中使用npm命令的时候&#xff0c;mac os报错提示&#xff1a; zsh: command not found: npm 一般出现发这种情况的原因时没有安装npm,而npm这命令时集成在nodejs中的&#xff0c;所以安装nodejs就可以了。 2、解决办法 本质就是需要安装…

海外服务器被DDOS攻击了该怎么办

在当今全球化的时代&#xff0c;越来越多的企业和组织选择将业务拓展至海外市场。然而&#xff0c;随着业务的扩大和网络的延伸&#xff0c;也面临着来自不同地区的网络威胁和攻击风险。如果您的海外服务器遭受了DDOS攻击&#xff0c;以下是一些应对措施&#xff1a; 一、立即断…

openssl调试记录

openssl不能直接解密16进制密文&#xff0c;需要把密文转化成base64格式才能解密 调试记录如下&#xff1a;

【Linux C | 网络编程】多播的概念、多播地址、UDP实现广播的C语言例子

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…

工厂企业能源计量监测管理系统,让效果看得见、摸得着

工厂企业能源计量监测管理系统在我国工业企业中扮演着十分重要的角色。然而&#xff0c;我们也不得不面对一系列存在的问题&#xff0c;比如工业企业能源计量工作效率低下、工业企业能源计量使用的器具老旧等。这些问题不仅影响了工业企业的生产效率&#xff0c;还可能给环境造…

Linux内核源码分析(强烈推荐收藏!)

一&#xff0c;前言 Linux内核是一个操作系统&#xff08;OS&#xff09;内核&#xff0c;本质上定义为类Unix。它用于不同的操作系统&#xff0c;主要是以不同的Linux发行版的形式。Linux内核是第一个真正完整且突出的免费和开源软件示例。Linux 内核是第一个真正完整且突出的…

1.2_3 TCP/IP参考模型

文章目录 1.2_3 TCP/IP参考模型&#xff08;一&#xff09;OSI参考模型与TCP/IP参考模型&#xff08;二&#xff09;5层参考模型&#xff08;三&#xff09;5层参考模型的数据封装与解封装 1.2_3 TCP/IP参考模型 &#xff08;一&#xff09;OSI参考模型与TCP/IP参考模型 TCP/I…

【Java设计模式】八、装饰者模式

文章目录 0、背景1、装饰者模式2、案例3、使用场景4、源码中的实际应用 0、背景 有个快餐店&#xff0c;里面的快餐有炒饭FriedRice 和 炒面FriedNoodles&#xff0c;且加配菜后总价不一样&#xff0c;计算麻烦。如果单独使用继承&#xff0c;那就是&#xff1a; 类爆炸不说&a…

新装idea后的常用配置

&#xff08;所有为idea new project配置默认配置的都是 File -> New Projects Settings -> Settings for New Projects&#xff09; 1. 修改编码格式 大多数软件默认编码都是GBK&#xff0c;还有其他的&#xff0c;不过我们都是使用UTF-8的&#xff0c;这里统一设置为…