Spring Boot通过添加jackson-dataformat-xml和JAXB依赖,结合@XmlRootElement和@XmlElement注解,可实现XML数据的解析与返回,Controller中使用@RequestBody和@ResponseBody处理XML请求与响应。

Spring Boot 默认使用 JSON 作为数据交换格式,但通过简单配置也能很好地支持 XML 数据的接收与返回。只要添加必要的依赖并正确使用注解,就能实现 Controller 层对 XML 请求体的解析和 XML 响应的输出。
Spring Boot 使用 Jackson 处理 XML 转换,需引入 jackson-dataformat-xml。同时,Java 11+ 移除了 JAXB,默认不包含,需要手动添加。
  <dependency>
    <groupId>com.fasterxml.jackson.dataformat</groupId>
    <artifactId>jackson-dataformat-xml</artifactId>
</dependency>
<dependency>
    <groupId>jakarta.xml.bind</groupId>
    <artifactId>jakarta.xml.bind-api</artifactId>
</dependency>
如果使用 JDK 8,还需加入 JAXB 的运行时实现:
  <dependency>
    <groupId>org.glassfish.jaxb</groupId>
    <artifactId>jaxb-runtime</artifactId>
    <scope>runtime</scope>
</dependency>
使用 @XmlRootElement 标记类为可序列化为 XML 的根元素,并通过 @XmlElement 控制字段映射。
  @XmlRootElement(name = "user")
  public class User {
    private String name;
    private int age;
    @XmlElement
    public String getName() { return name; }
    public void setName(String name) { this.name = name; }
    @XmlElement
    public int getAge() { return age; }
    public void setAge(int age) { this.age = age; }
  }
getter 方法上的 @XmlElement 是必须的,否则字段不会出现在 XML 中。
在接口中通过 @RequestBody 接收 XML 请求体,用 @ResponseBody 或直接返回对象输出 XML。配合 @PostMapping 指定 consumes 和 produces 类型。
  @RestController
  public class UserController {
    @PostMapping(value = "/user", 
      consumes = "application/xml", 
      produces = "application/xml")
    public User createUser(@RequestBody User user) {
      user.setName("已处理: " + user.getName());
      return user;
    }
  }
发送 POST 请求时,设置 Header:Content-Type: application/xml,响应也会以 XML 返回。
使用 curl 测试:
  curl -X POST http://localhost:8080/user \
    -H "Content-Type: application/xml" \
    -d '<user><name>张三</name><age>25</age></user>'
响应结果:
  <?xml version="1.0" encoding="UTF-8"?>
  <user>
    <name>已处理: 张三</name>
    <age>25</age>
  </user>
基本上就这些。只要依赖齐全、实体类标注正确,Spring Boot 就能自动完成 XML 和对象之间的转换。注意检查字段的 getter 是否加了 @XmlElement,这是最容易遗漏的地方。
以上就是Spring Boot怎么接收和返回XML格式数据_Spring Boot处理XML数据请求与响应实践的详细内容,更多请关注php中文网其它相关文章!
 
                        
                        每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
 
                Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号