spring boot中前后端传参的几种方式,举例说明
在Spring Boot中,前后端传参的几种方式如下:
- 通过HTTP GET请求的查询参数传递数据:
// Controller中的方法
@GetMapping("/getData")
public ResponseEntity<?> getData(@RequestParam String param) {
// 使用param
return ResponseEntity.ok().body("Success");
}
- 通过HTTP POST请求的请求体传递数据:
// DTO对象
public class DataDTO {
private String data;
// getter和setter
}
// Controller中的方法
@PostMapping("/postData")
public ResponseEntity<?> postData(@RequestBody DataDTO dataDTO) {
// 使用dataDTO.getData()
return ResponseEntity.ok().body("Success");
}
- 通过路径变量传递数据:
// Controller中的方法
@GetMapping("/pathData/{param}")
public ResponseEntity<?> pathData(@PathVariable String param) {
// 使用param
return ResponseEntity.ok().body("Success");
}
- 使用
@ModelAttribute
传递数据,通常用于传递表单数据:
// Form DTO
public class FormData {
private String field;
// getter and setter
}
// Controller中的方法
@PostMapping("/submitForm")
public String submitForm(@ModelAttribute FormData formData) {
// 使用formData.getField()
return "formSuccess";
}
- 使用
@RequestHeader
传递HTTP头信息:
// Controller中的方法
@GetMapping("/headerData")
public ResponseEntity<?> headerData(@RequestHeader("User-Agent") String userAgent) {
// 使用userAgent
return ResponseEntity.ok().body("Success");
}
- 使用
@CookieValue
获取Cookie数据:
// Controller中的方法
@GetMapping("/cookieData")
public ResponseEntity<?> cookieData(@CookieValue("JSESSIONID") String sessionId) {
// 使用sessionId
return ResponseEntity.ok().body("Success");
}
这些是Spring Boot中常见的前后端传参方式,每种方式都有其特定的使用场景。
评论已关闭