【spring gateway网关过滤器自定义添加请求头出错:500 Server Error for HTTP....Validation failed for header...】
【代码】【spring gateway网关过滤器自定义添加请求头出错:500 Server Error for HTTP....Validation failed for header...】
·
代码如下:
server:
port: 8083
spring:
application:
name: gateway-service
profiles:
active: dev
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
gateway:
routes:
- id: exp-service
uri: lb://exp-service
predicates:
- Path=/study-exp/**,/study-Mq/**
- id: one-service
uri: lb://one-service
predicates:
- Path=/one/**,/two/**
filters:
- AddRequestHeader=one, 你太帅了
@GetMapping("/testAddReqHeader")
public ReturnMessage testAddReqHeader(@RequestHeader(value = "one",required = false) String oneKey){
return ReturnMessageBuilder.ok("one="+oneKey);
}
报错如下
2023-10-18 12:01:26.211 ERROR 22876 --- [ctor-http-nio-2] a.w.r.e.AbstractErrorWebExceptionHandler : [e2cae4cd-1] 500 Server Error for HTTP GET "/one/test"
java.lang.IllegalArgumentException: Validation failed for header 'one'
at io.netty.handler.codec.DefaultHeaders.validateValue(DefaultHeaders.java:1019) ~[netty-codec-4.1.97.Final.jar:4.1.97.Final]
Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:
Error has been observed at the following site(s):
*__checkpoint ⇢ org.springframework.cloud.gateway.filter.WeightCalculatorWebFilter [DefaultWebFilterChain]
*__checkpoint ⇢ HTTP GET "/one/test" [ExceptionHandlingWebHandler]
解决,请求头改成英文就行了。
filters:
- AddRequestHeader=one, your are handsome!
如果确实要添加中文请求头怎么办呢?
参考文章:https://blog.csdn.net/Loser_you/article/details/115467549
更多推荐
所有评论(0)