后端接收请求中的参数
1.将参数接收到后端的实体类中
1.1如果前端发出的参数在URL中
如果前端发出的参数在URL中,你可以使用 @ModelAttribute
注解。这样可以将请求中的参数自动绑定到实体类上。
前端发出的请求
GET /users?name=Alice&age=30
你的实体类
java
public class User {
private String name;
private int age;
// Getter 和 Setter
}
你的Controller
java
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/users")
public class UserController {
@GetMapping
public String getUser(@ModelAttribute User user) {
// 处理用户
return "User received: " + user.getName() + ", Age: " + user.getAge();
}
}
1.2如果前端发出的参数在请求体中
如果前端发出的参数在请求体中,并且请求体中包含与后端实体类属性相对应的数据时,可以使用 @RequestBody
注解来直接将请求体映射到实体类。
前端发出的请求
java
POST /users
Content-Type: application/json
{
"name": "Alice",
"age": 30
}
你的实体类
java
public class User {
private String name;
private int age;
// Getter 和 Setter
}
你的Controller
java
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/users")
public class UserController {
@PostMapping
public String createUser(@RequestBody User user) {
// 处理用户
return "User created: " + user.getName() + ", Age: " + user.getAge();
}
}
2.将URL中的单个参数绑定到后端的单个参数中
说明 :使用 @RequestParam,你可以将URL中的单个参数直接绑定到后端方法的单个参数中。如果参数名称与请求参数名称不匹配,可以通过 name 属性指定。
前端发出的请求
/users?name=Alice&age=30
你的Controller
java
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/users")
public class UserController {
@GetMapping
public String getUserInfo(@RequestParam("name") String name, @RequestParam("age") int age) {
// 处理单个参数
return "User info: " + name + ", Age: " + age;
}
}