Sobes.tech
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.