我有一个拦截器:
public class SomeInterceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception {
System.out.println("Header: " + request.getHeader("defaultHeader"));
return true;
}
}
这是我的控制器:
@PostMapping("/test")
public ResponseEntity someMethod(@RequestHeader(name = "defaultHeader", defaultValue = "someValue", required = false) final String someValue) {
//do something
}
有什么方法可以在拦截器中获取默认值“ someValue”吗?还是有什么办法可以在“ someMethod”内部执行任何操作之前使用默认值进行注释?还是采用其他方式而不用在“ someMethod”中编写任何内容来获取此“ someValue”?
答案 0 :(得分:0)
在拦截器预处理方法中,使用样板代码检查标头。如果不存在,请设置默认值。并在控制器中假定头始终存在。