我有一个拦截器:
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;
}
}
这是我的 Controller :
@PostMapping("/test")
public ResponseEntity someMethod(@RequestHeader(name = "defaultHeader", defaultValue = "someValue", required = false) final String someValue) {
//do something
}
有没有办法在拦截器中获取“someValue”的默认值?或者有什么方法可以在“someMethod”中执行任何操作之前制作一个将采用此默认值的注释?或者任何其他方式来获取这个“someValue”而无需在“someMethod”中写入任何内容?
最佳答案
在拦截器预处理方法中,使用样板代码检查 header 。如果不存在,请设置默认值。并在 Controller 中假设 header 始终存在。
关于java - 如何在拦截器中获取RequestHeader默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51244246/