SpringBoot 中获取 Request 的四种方法
在Spring Boot中,你可以通过以下四种方式获取当前HTTP请求的信息:
- 使用
@RequestParam
注解获取单个请求参数。 - 使用
@RequestBody
注解获取请求体中的数据(通常用于POST请求)。 - 使用
HttpServletRequest
对象获取请求相关的所有信息。 - 使用
@RequestAttribute
获取请求范围内的属性。
以下是每种方法的示例代码:
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
@RestController
public class RequestController {
// 使用@RequestParam获取请求参数
@GetMapping("/param")
public String getRequestParam(@RequestParam String param) {
return "Param: " + param;
}
// 使用@RequestBody获取请求体中的JSON数据
@PostMapping("/body")
public String getRequestBody(@RequestBody String body) {
return "Body: " + body;
}
// 使用HttpServletRequest获取请求信息
@GetMapping("/request")
public String getRequest(HttpServletRequest request) {
return "Request URI: " + request.getRequestURI();
}
// 使用@RequestAttribute获取请求范围的属性
@GetMapping("/attribute")
public String getRequestAttribute(@RequestAttribute String attribute) {
return "Attribute: " + attribute;
}
}
在这些方法中,@RequestParam
和@RequestBody
是用于获取特定类型的请求数据,而HttpServletRequest
和@RequestAttribute
用于获取更全面或者特定范围的请求信息。
评论已关闭