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

相关推荐
程序员大金1 小时前
基于SpringBoot+Vue+MySQL的教学资料管理系统
java·vue.js·spring boot·后端·mysql·tomcat·intellij-idea
2401_854391082 小时前
Spring Boot影院管理系统:小徐的创新
服务器·数据库·spring boot
Swxctx2 小时前
Go进阶概览 -【7.3 Go语言中的安全与错误处理】
开发语言·后端·golang·go进阶概览
夜月行者2 小时前
如何使用ssm实现大学生校园招聘网的设计与实现
java·后端·ssm
coffee_baby2 小时前
解释器模式原理剖析和Spring中的应用
java·spring boot·spring·解释器模式
开源神器2 小时前
Spring Boot 入门指南
spring boot
武昌库里写JAVA2 小时前
刚面试完的前端面试题
java·spring boot·mysql·spring·log4j
赐你岁月如歌3 小时前
如何使用ssm实现线上旅游体验系统+vue
java·后端·ssm
鱼跃鹰飞3 小时前
大厂面试真题-说一下Mybatis的缓存
java·后端·缓存·面试·职场和发展·mybatis