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

标签 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;
    }
}

这是我的 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/

相关文章:

java - 在 IBM Websphere 环境中设置负载平衡器服务器

java - 如何在 "switching screens?"时不显示上一屏幕中的对象

java - spring security 从同一个ip地址多次登录

java - Spring Boot 无法反序列化包含 OffsetDateTime 的对象

java - 将 java 类映射到 Postgresql 表错误

jQuery:无法获取元素的值

java - java中的链表堆栈

java - 如何在android中查看历史记录的内容?

java - 调度程序Servlet : redirect on page at localhost

spring - 处理@RepositoryRestResource 中的多对多关系