我在用
@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/