如何在拦截器中获取请求标头默认值



我有一个拦截器:

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"中执行任何操作之前制作一个注释,该注释将采用此默认值?或者任何其他方法可以在不写任何东西的情况下获取这个"someValue"而不在"someMethod"中编写任何东西?

在拦截器预处理方法中,使用样板代码检查标头。如果不存在,请设置默认值。在控制器中假设标头始终存在。

最新更新