spring - @RequestHeader 在 spring 中不接受假 header

标签 spring annotations request-headers

我在用

@RequestHeader(value = "channel") String channel

在 Spring 应用程序 Controller 中获取 header ,它适用于普通 header ,但是,在某些情况下,我需要使用过滤器捕获请求并使用 HttpServletRequestWrapper 添加一些额外的 header 。 @RequestHeader 注释不接受通过覆盖 getHeader 方法添加的新 header 并引发错误。但是,如果我使用手动获取标题
HttpServletRequest.getHeader("channel")

新标题工作正常。 @RequestHeader 实现中是否有任何错误?如果是这样,是否有任何解决方法,以便我不必在 50 多个 API 中更改相同的内容。

最佳答案

解析时@RequestHeader , Spring 正在使用 getHeaders() ,不是 getHeader() .你需要覆盖这个。

关于spring - @RequestHeader 在 spring 中不接受假 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45480745/

相关文章:

java - 如何使用 Spring FixLengthTokenizer 提取单列

java - @Size 注释似乎不适用于我的类(class)

javascript - 能够在指向本地环境的浏览器中设置 JavaScript 断点

java - 无法在 docker 内构建 gradle 应用程序

Java Spring项目: impact of delaying authentication implementation

java - JPA @OneToMany 和@ManyToOne : back reference is null

iPhone map 查看: Annotation Pin - Different Color

groovy - 测量在 Groovy 类方法中花费的时间

jquery - 在来自 Ajax 的跨域请求中发送 header

javascript - 如何在 native 浏览器请求上设置 header ,或者在使用 Video.js 从 Microsoft Azure 播放视频时提供授权 header ?