RequestParam注解、RequestHeader注解和CookieValue注解在Spring MVC中用于获取不同类型的请求信息。
- @RequestParam注解:
用于从请求中获取参数的值。可以用在方法的参数上,指定要映射的请求参数的名称
。
代码如下:
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class MyController {
@GetMapping("/hello")
public String hello(@RequestParam("name") String name) {
return "Hello, " + name;
}
}
- @RequestHeader注解:
用于从请求头中获取特定的信息,比如User-Agent
、Accept-Language
等。
代码如下:
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class MyController {
@GetMapping("/user-agent")
public String getUserAgent(@RequestHeader("User-Agent") String userAgent) {
return "User Agent: " + userAgent;
}
}
- @CookieValue注解:
用于从请求的Cookie中获取特定的值。
代码如下:
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class MyController {
@GetMapping("/cookie")
public String getCookieValue(@CookieValue("myCookie") String cookieValue) {
return "Cookie Value: " + cookieValue;
}
}