如何在Spring MVC中设置响应头
我想在其中设置响应头缓存控制和编译指示的方法:
public String addUser(@Valid User user, BindingResult bindingResult){
if(bindingResult.hasErrors())
{
bindingResult.getFieldError();
return"edit";
}
return "redirect:/welcome/profile/"+user.getName();
}
在这种方法中,我想像使用HttpservletResponse调用setHeader方法在简单servlet代码中那样设置缓存控制和编译指示:
response.setHeader("Cache-Control","no-cache,no-store,must-revalidate"); response.setHeader("Pragma","no-cache");
response.setDateHeader("Expires", 0);
我搜索了spring文档,找不到任何直接方法,但是我发现了这一点:
@RequestMapping("/something")public ResponseEntity<String> handle(HttpEntity<byte[]> requestEntity) throws UnsupportedEncodingException
{
String requestHeader = requestEntity.getHeaders().getFirst("MyRequestHeader"));
byte[] requestBody = requestEntity.getBody();
HttpHeaders responseHeaders = new HttpHeaders();
responseHeaders.set("MyResponseHeader", "MyValue");
return new ResponseEntity<String>("Hello World", responseHeaders, HttpStatus.CREATED);
}
但是我不知道怎么用
回答:
如果要为控制器的每个响应设置标题,则可以使用@ModelAttribute
注释。
@ModelAttributepublic void setVaryResponseHeader(HttpServletResponse response) {
response.setHeader("Vary", "Accept");
}
以上是 如何在Spring MVC中设置响应头 的全部内容, 来源链接: utcz.com/qa/434681.html