springboot03(请求和响应)
一、@RequestMapping("/user")
:请求映射路径的解析:
-
总结:一个"公共"的请求路径"前缀"
1.1代码块解析:
有@RequestMapping("/user")和@RequestMapping("/save")/ @RequestMapping("/delete")
@Controller
@RequestMapping("/user")
public class UserController {
@RequestMapping("/save")
@ResponseBody
public String save(){
System.out.println("User Save...");
return "{User Save...}";
}
@RequestMapping("/delete")
@ResponseBody
public String delete(){
System.out.println("User Delete...");
return "{User Delete...}";
}
所以在地址搜索:
二、请求参数
2.1 _"普通参数"的Get和Post方法(‘请求参数名’和‘代码的形参相同’)
*Get
*Post
2.2_"普通参数"的Get和Post方法(‘请求参数名’和‘代码的形参"不"相同’的情况)
解决:加一个@RequestParam("name")
的注解
2.3_POJO参数
User的代码块
public class User {
private String name;
private int age;
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
public User(String name, int age) {
this.name = name;
this.age = age;
}
public User() {
}
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;
}
}
2.4_嵌套POJO参数
这个和POJO就差在"传入的形参"
用PostMan测试"嵌套POJO"
输出结果
User代码块
public class User {
private String name;
private int age;
private Address address;
public Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address = address;
}
public User(String name, int age) {
this.name = name;
this.age = age;
}
public User() {
}
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;
}
}
内部嵌套Address的的代码块
public class Address {
private String province ;
private String city;
@Override
public String toString() {
return "Address{" +
"province='" + province + '\'' +
", city='" + city + '\'' +
'}';
}
public String getProvince() {
return province;
}
public void setProvince(String province) {
this.province = province;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
}
2.5_数组参数(必须要以代码"形参定义"为输入标准)
用PostMan测试:
测试结果:
2.5_集合参数:(集合和数组就差在一个"@RequesParam"注解上)
用PostMan测试:
测试结果:
三、代码总结:
@Controller
public class UserController {
@RequestMapping("/commonParam")
@ResponseBody
public String commonParam(String name, int age) {
System.out.println("--> 普通参数传递:" + name);
System.out.println("--> 普通参数传递:" + age);
System.out.println("user_CommonParam");
return "{molder:user_CommonParam}";
}
@RequestMapping("/commonParamDifferName")
@ResponseBody
public String commonParamDifferName(@RequestParam("name")String userName, int age) {
System.out.println("--> 普通参数传递:" + userName);
System.out.println("--> 普通参数传递:" + age);
System.out.println("user_CommonParam");
System.out.println("--------");
return "{molder:user_CommonParam}";
}
//POJO参数(传入实体类)
@RequestMapping("/pojoParam")
@ResponseBody
public String pojoParam(User user) { //这个User里面有name和age的成员变量
System.out.println("--> POJO参数传递pojoParam:" + user);
System.out.println("--------");
return "{molder:user_CommonParam}";
}
//嵌套POJO参数
@RequestMapping("/pojoContainParam")
@ResponseBody
public String pojoContainParam(User user) { //这个User里面有name和age的成员变量,还有一个类Address
System.out.println("--> 嵌套POJO参数传递pojoContainParam:" + user);
System.out.println("--------");
return "{molder:user_CommonParam}";
}
//数组参数
@RequestMapping("/arrayParam")
@ResponseBody
public String arrayParam(String[] likes) { //需要以likes为头,传入数据
System.out.println("--> 数组参数:" + Arrays.toString(likes));
System.out.println("--------");
return "{molder:user_CommonParam}";
}
//集合参数
@RequestMapping("/listParam")
@ResponseBody
public String listParam(@RequestParam List<String> likes) { //需要以likes为头,传入数据
System.out.println("--> 集合参数:" + likes);
System.out.println("--------");
return "{molder:user_CommonParam}";
}
}
分类:
SpringMVC
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!