1.简单参数
1.1原始方法
说明:获取请求传来的name参数,age参数的值。
//简单方式
@RestController
public class RequestController {
@GetMapping("/books")
public String simpleParam(HttpServletRequest request) {
//获取请求参数 name和age
String name = request.getParameter("name");
String ageStr = request.getParameter("age");
int age = Integer.parseInt(ageStr);
System.out.println(name+":"+age);
return "ok";
}
}
1.2SpringBoot方法
说明:也是获取请求传来的name参数,age参数的值。
@GetMapping("/books")
public String simpleParam(String name, Integer age) {
System.out.println(name + ":" + age);
return "ok";
}
注意:前端传的参数名与形参变量名相同,定义形参即可接受参数,并且sringboot会自动进行转化,参数不能一一对应就不会成功,也不会报错,只会将值变成空。
1.3@RequestParam
说明:请求参数和方法形式参数不匹配,可以使用@RequestParam完成映射
// 如果SpringBoot方式,请求参数和方法形式参数不匹配,可以使用@RequestParam完成映射
@GetMapping("/login")
// name随便写,请求参数名为"name"
// 如果不加required,那么默认值就是true,如果required为false,那么代表参数可以不传入
public String simpleParam(@RequestParam(name="name",required = false) String username) {
System.out.println("name:" + username);
return "ok";
}
2.实体参数
说明:简单实体对象:请求参数名与形参对象属性名相同,定义domain类即可;
复杂实体对象:请求参数名与形参对象属性名相同,按照对象层次结构关系即可接受嵌套属性参数。(对象就是一个类)
2.1定义一个Use类
package com.forever.domain;
public class User {
private String name;
private String age;
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", age='" + age + '\'' +
'}';
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}
2.2控制类
说明:拿到封装请求(请求封装成类)
@RestController
public class RequestController {
@RequestMapping("/man")
public String simpleParam(User user){
System.out.println(user);
return "ok";
}