SpringBoot 中获取 Request 的四种方法
    		       		warning:
    		            这篇文章距离上次修改已过420天,其中的内容可能已经有所变动。
    		        
        		                
                在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用于获取更全面或者特定范围的请求信息。
评论已关闭