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

时间:2018-07-09 11:15:17

标签: 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("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”?

1 个答案:

答案 0 :(得分:0)

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