Java 如何在拦截器中获取RequestHeader默认值

Java 如何在拦截器中获取RequestHeader默认值,java,spring,spring-boot,header,interceptor,Java,Spring,Spring Boot,Header,Interceptor,我有一个拦截器: public class SomeInterceptor extends HandlerInterceptorAdapter { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { System.out.println

我有一个拦截器:

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”中写入任何内容?

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

理论上,您将获得
处理程序
,并可以使用反射将其拉出。简单的答案是否定的,因为在拦截器完成处理后调用控制器。