springmvc Model请求头
时间: 2025-01-21 13:44:45 浏览: 35
### 设置和获取 Model 请求头
在 Spring MVC 中,`Model` 主要用于向视图层传递数据,并不是用来处理 HTTP 请求头的工具。对于 HTTP 请求头的操作通常涉及 `HttpHeaders` 和 `@RequestHeader` 注解。
为了设置响应中的请求头,在控制器的方法返回值为 `ResponseEntity<?>` 时可以直接指定头部信息:
```java
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HeaderController {
@GetMapping("/set-header")
public ResponseEntity<String> setCustomHeader() {
HttpHeaders headers = new HttpHeaders();
headers.set("X-Custom-Header", "customValue");
return new ResponseEntity<>("Header Set", headers, HttpStatus.OK);
}
}
```
而当需要从入站请求中读取特定的请求头,则可以通过 `@RequestHeader` 来实现这一点[^2]:
```java
@GetMapping("/get-header")
public String getCustomHeader(@RequestHeader(value="X-Custom-Header", required=false) String customHeader){
if(customHeader != null && !customHeader.isEmpty()){
return "Received header value : " + customHeader;
}else{
return "No X-Custom-Header found";
}
}
```
上述代码展示了如何利用 `@RequestHeader` 获取名为 `X-Custom-Header` 的自定义请求头;如果该请求头不存在也不会抛出异常,因为设置了 `required=false`.
阅读全文
相关推荐

















