当前位置: 首页 > news >正文

【Java】SpringMVC参数接收(一)

1、接收单个参数

(1)直接接收参数

@RequestMapping("/hello")
@RestController
public class HelloSpring {@RequestMapping("/t2")public String t2(String name){return "name=" + name;}
}

 当没有传入参数时,返回null

(2)包装类接收

如果我们换成int,再次看看结果

@RequestMapping("/hello")
@RestController
public class HelloSpring {@RequestMapping("/t2")public String t2(String name){return "name=" + name;}
}

postman报错。报错提示我们应该使用包装类

@RequestMapping("/hello")
@RestController
public class HelloSpring {@RequestMapping("t4")public String t4(Integer age){return "age=" + age;}
}

不传参数时,返回null,不再报错 

SpringMVC接收参数时最好使用包装类

 2、多个参数

(1)直接写 

@RequestMapping("/hello")
@RestController
public class HelloSpring {@RequestMapping("t5")public String t5(String name,Integer age){return "name=" + name + ", " + "age=" + age;}
}

(2)使用类包装

UserInfo类

public class UserInfo {private String name;private int age;private int id;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public int getId() {return id;}public void setId(int id) {this.id = id;}@Overridepublic String toString() {return "UserInfo{" +"name='" + name + '\'' +", age=" + age +", id=" + id +'}';}
}
@RequestMapping("/hello")
@RestController
public class HelloSpring {@RequestMapping("t6")public String t6(UserInfo userInfo){return userInfo.toString();}
}

3、修改参数名 

后端接收参数的名字是跟前端保持一致的,因此我们要使用其他参数名时,则要对其进行修改

@RequestMapping("/hello")
@RestController
public class HelloSpring {@RequestMapping("t7")public String t7(@RequestParam("name")String username){return "name=" + username;}
}
//@RequestParam()中所写的是本来的参数名
//String后写的是修改后的参数名

但是如果不传入参数,就会报错

可见,上述修改参数是强制传入参数。为了能不报错,我们使参数required为false

@RequestMapping("/hello")
@RestController
public class HelloSpring {@RequestMapping("t7")public String t7(@RequestParam(value = "name",required = false)String username){return "name=" + username;}
}

这样就算不传入参数,也不会报错

4、接收数组参数

(1)直接传数组 

@RequestMapping("/hello")
@RestController
public class HelloSpring {@RequestMapping("t8")public String t8(String[] arr){return Arrays.toString(arr);}
}

(2)传集合

@RequestMapping("/hello")
@RestController
public class HelloSpring {@RequestMapping("t9")public String t9(@RequestParam(value = "list",required = false)List<String> list){return list.toString();}
}

http://www.lryc.cn/news/289506.html

相关文章:

  • File类知识点回顾
  • 2024新版68套Axure RP大数据可视化大屏模板及通用组件+PSD源文件
  • Optional lab: Linear Regression using Scikit-LearnⅠ
  • CentOS使用
  • [SWPUCTF 2018]SimplePHP1
  • api管理工具的新发现
  • 2024 年 eBPF 和网络趋势预测
  • 2024.1.27 GNSS 学习笔记
  • Unity - 将项目转为HDRP
  • ETCD高可用架构涉及常用功能整理
  • 深度学习中RGB影像图的直方图均衡化python代码and对图片中指定部分做基于掩模的特定区域直方图均衡化
  • PyTorch深度学习实战(33)——条件生成对抗网络(Conditional Generative Adversarial Network, CGAN)
  • 编写Bash脚本程序从记录文件中提取history命令的优化,再介绍linux bash语法和结构
  • Python中Numba库装饰器
  • Spring Boot Aop 执行顺序
  • 100天精通鸿蒙从入门到跳槽——第16天:ArkTS条件渲染使用教程
  • 【Linux C | 进程】Linux 进程间通信的10种方式(1)
  • 橘子学Mybatis08之Mybatis关于一级缓存的使用和适配器设计模式
  • 看图说话:Git图谱解读
  • linux新增用户,指定home目录和bash脚本且加入到sudoer列表
  • 经典目标检测YOLO系列(三)YOLOV3的复现(1)总体网络架构及前向处理过程
  • OpenGL/C++_学习笔记(四)空间概念与摄像头
  • C语言2024-1-27练习记录
  • 深入解析HTTPS:安全机制全方位剖析
  • 【197】JAVA8调用阿里云对象存储API,保存图片并获取图片URL地址。
  • 2024.1.24 C++QT 作业
  • jenkins部署过程记录
  • JS-策略设计模式
  • 漏洞复现-EduSoho任意文件读取漏洞(附漏洞检测脚本)
  • 「QT」QString类的详细说明