springboot 接口接收及响应xml数据

1.实体类

java 复制代码
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD) // 指示JAXB直接访问类的字段而不是getter/setter方法
public class User {
    @XmlElement // 表示这个字段应该被映射为XML的一个元素
    private String name;

    @XmlElement // 表示这个字段应该被映射为XML的一个元素
    private int age;

    // 构造方法、getter和setter省略

    public User() {}

    public User(String name, int age) {
        this.name = name;
        this.age = age;
    }

    // Getter 和 Setter
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

2.接口

java 复制代码
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class UserController {

	//consumes 将接收到的xml数据自动转为user对象,produces 将返回user对象自动转为xml数据返回
    @PostMapping(value = "/user", consumes = MediaType.APPLICATION_XML_VALUE, produces = MediaType.APPLICATION_XML_VALUE)
    public User createUser(@RequestBody User user) {
        // 在这里可以添加处理逻辑,例如保存到数据库
        // 这里只是简单返回接收到的用户对象
        user.setAge(102);
        return user;
    }
}

3.测试

设置Content-Type

设置raw 为xml

相关推荐
嘻哈baby4 分钟前
Go 语言为什么不在语言层面保证 map 线程安全?
后端
大黄评测6 分钟前
GraalVM 原生镜像构建实战:反射配置策略与 Spring Boot AOT 编译常见坑点
后端
杨杨杨大侠12 分钟前
MCP、ToolFunction 与 Skill:从模型输入到工具执行
后端·aigc·openai
ClouGence21 分钟前
2026 数据库 CI/CD 工具大盘点:4 款热门工具怎么选?
数据库·后端·ci/cd
李昊哲小课1 小时前
SpringBoot4 云端咖啡站 阶段五:交付与进阶
人工智能·spring boot·大模型·log4j·智能体
码事漫谈1 小时前
项目探测:把老项目的知识变成 AI 的外部记忆
后端
PragmaticWorks1 小时前
从"遍地 try-catch"到分层治理:用 pragmatic-ddd 的异常体系治好代码洁癖
后端·领域驱动设计
苍何1 小时前
我的开源项目登顶 GitHub 趋势榜 No1 了!
后端
苍何2 小时前
原来 Agent 量大管饱,真不是吹的
后端
MetaLite2 小时前
SpringBoot分页接口怎么设计-pageSize不设上限会发生什么
java·spring boot·后端