【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

  • 29
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值