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

SpringBoot中RestTemplate请求报Bad Message 400非法空格问题求助

SpringBoot RestTemplate 400 Bad Message(Illegal character SPACE=' ')问题排查

问题根源

HTTP协议明确规定请求头名称不能包含空格,你代码中设置的X-Original Signer请求头名称带有空格,服务器解析请求时无法识别该非法格式,直接返回400错误。

修复方案

将带空格的请求头名称改为符合规范的格式,比如用连字符替代空格:

// 原错误写法
// headers.set("X-Original Signer", "signer");
// 修复后写法
headers.set("X-Original-Signer", "signer");

修复后的完整请求代码

headers.set("Content-Type", "text/xml;charset=utf-8");
headers.setBasicAuth("XXXX", "YYYY");
headers.set("X-Original-Signer", "signer");
headers.set("X-Signature","signature");
HttpEntity<?> entity = new HttpEntity<>(request, headers);

try{
    String fetch=restTemplate.postForObject(url, entity, String.class);            
    return new ResponseEntity<>(fetch, HttpStatus.OK);
} catch(Exception e){
    e.printStackTrace();
    return new ResponseEntity<>(e.getMessage(), HttpStatus.OK);
}

补充说明

你的RestTemplate SSL配置部分没有问题,无需调整,本次错误完全由非法请求头格式导致。

内容的提问来源于stack exchange,提问作者ernest.ojakol

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 06:35:23