You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何去除Feign Client响应头中的括号?

Feign Client响应头值带方括号的原因及解决办法

原因

HTTP协议允许同一个响应头字段包含多个值,因此Feign(以及Spring的ResponseEntity)会将每个头字段的值存储为List<String>类型。当你直接打印response.headers时,列表的默认toString()方法会把元素用方括号[]包裹起来输出——并不是原始响应头带括号,而是列表转字符串的格式导致的。

解决办法

1. 获取单个头字段的第一个值(确定只有一个值时用)

既然你确认原始值是单个字符串,直接用getFirst()方法取列表的第一个元素即可:

val response: ResponseEntity<String> = externalService.send(request)
val urlHeaderValue = response.headers.getFirst("URL")
logger.debug("response.headers URL: $urlHeaderValue")

这样输出就会是response.headers URL: some_value,没有方括号。

2. 处理多值场景(如果头可能有多个值)

如果不确定头字段是否存在多个值,可以遍历列表拼接成需要的格式:

val response: ResponseEntity<String> = externalService.send(request)
val urlHeaders = response.headers["URL"]
val urlHeaderValue = urlHeaders?.joinToString(", ") // 用逗号分隔多个值
logger.debug("response.headers URL: $urlHeaderValue")

内容的提问来源于stack exchange,提问作者ever alian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 17:27:01