通八洲科技

Spring Boot怎么处理XML请求 Spring Boot接收和返回XML数据教程

日期:2025-12-14 00:00 / 作者:幻夢星雲
Spring Boot 默认不自动支持 XML,需添加 jackson-dataformat-xml 依赖并配置 consumes/produces 为 application/xml;实体类需符合规范,如无参构造、getter/setter,推荐使用 @JacksonXmlRootElement;常见问题包括字段名大小写敏感、集合包装控制及 406 错误排查。

Spring Boot 默认支持 XML 请求和响应,但需要手动配置依赖和启用相关支持。核心是添加 Jackson 的 XML 支持(jackson-dataformat-xml),并确保控制器方法正确声明 consumesproduces 类型为 application/xml

添加 XML 支持依赖

pom.xml 中引入 Jackson XML 数据格式模块:


com.fasterxml.jackson.dataformat
jackson-dataformat-xml

启用 XML 消息转换器

Spring Boot 会自动注册 Jackson2ObjectMapperBuilder 对应的 MappingJackson2XmlHttpMessageConverter,前提是类路径下存在 XmlMapper。你不需要手动配置,但可微调:

编写接收和返回 XML 的接口

Controller 方法需明确指定媒体类型,并使用 @RequestBody / @ResponseBody@RestController

@PostMapping(value = "/user", 
consumes = MediaType.APPLICATION_XML_VALUE,
produces = MediaType.APPLICATION_XML_VALUE)
public User createUser(@RequestBody User user) {
return userService.save(user);
}

常见问题与注意点

XML 支持看似简单,但几个细节容易出错:

基本上就这些。只要依赖到位、注解写对、实体规范,Spring Boot 处理 XML 就很顺滑。