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

如何配置Spring Boot避免自动设置Content-Type响应头?

阻止Spring自动添加Content-Type头的几种方法

方法1:构建ResponseEntity时显式将Content-Type设为null

Spring处理字符串类型响应时,若未指定Content-Type,会通过StringHttpMessageConverter自动添加text/plain;charset=utf-8。你可以在构建响应头时直接把Content-Type设为null,覆盖默认行为:

@RestController
public class ProxyController {
    @GetMapping("/legacy-proxy")
    public ResponseEntity<String> proxyToLegacySystem() {
        // 模拟从遗留系统获取的XML响应内容
        String legacyXmlResponse = "<legacy-response><data>sample content</data></legacy-response>";
        
        HttpHeaders headers = new HttpHeaders();
        // 显式设置Content-Type为null,阻止Spring自动添加默认值
        headers.setContentType(null);
        
        return new ResponseEntity<>(legacyXmlResponse, headers, HttpStatus.OK);
    }
}

方法2:直接操作HttpServletResponse输出响应

绕过Spring的响应封装机制,直接通过HttpServletResponse写入内容,不设置Content-Type头:

@RestController
public class ProxyController {
    @GetMapping("/legacy-proxy")
    public void proxyToLegacySystem(HttpServletResponse response) throws IOException {
        String legacyXmlResponse = "<legacy-response><data>sample content</data></legacy-response>";
        
        // 仅设置响应状态,不添加Content-Type头
        response.setStatus(HttpServletResponse.SC_OK);
        // 写入响应体
        response.getWriter().write(legacyXmlResponse);
        response.getWriter().flush();
    }
}

方法3:自定义StringHttpMessageConverter禁用默认Content-Type

如果需要全局生效,可以自定义StringHttpMessageConverter,移除默认的Content-Type设置:

@Configuration
public class WebConfig implements WebMvcConfigurer {
    @Override
    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
        StringHttpMessageConverter stringConverter = new StringHttpMessageConverter();
        // 清空默认支持的媒体类型,避免自动添加text/plain头
        stringConverter.setSupportedMediaTypes(Collections.emptyList());
        converters.add(stringConverter);
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 22:19:59