Middle
How to access HTTP request data (query parameters, headers, body) in Spring MVC?
sobes.tech AI
Answer from AI
In Spring MVC, access to HTTP request data can be obtained using annotations in controller methods:
- Query parameters: use
@RequestParam - Headers: use
@RequestHeader - Request body: use
@RequestBody
Example:
@RestController
public class MyController {
@GetMapping("/example")
public String example(
@RequestParam String param, // query parameter
@RequestHeader("User-Agent") String ua) { // header
return "Param: " + param + ", UA: " + ua;
}
@PostMapping("/submit")
public ResponseEntity<String> submit(@RequestBody MyDto dto) { // request body
// process dto
return ResponseEntity.ok("Received");
}
}
Thus, Spring MVC automatically binds parts of the HTTP request to controller method parameters.