让springboot返回xml结构的数据

@GetMapping 与 @PostMapping 内部有两个属性定义数据格式:
consumes: 定义接口接收的数据格式
produces: 定义接口返回的数据格式
也就是请求头(consumes),返回头( produces)

首先在pom文件里添加依赖

        <dependency>
            <groupId>com.fasterxml.jackson.dataformat</groupId>
            <artifactId>jackson-dataformat-xml</artifactId>
        </dependency>

controller里接口写法:

//这是返回xml格式的写法
    @GetMapping(path = "/call",produces = "application/xml;charset=utf-8")
    public XmlTestDo call(){
        XmlTestDo xmlTestDo = new XmlTestDo();
        xmlTestDo.setInfoType("aa");
        return xmlTestDo;
    }
    //返回和接受都是xml格式的写法
    @PostMapping(path = "xml/callback",
            consumes = {"application/xml", "text/xml"},
            produces = "application/xml;charset=utf-8")
    public XmlTestDo call(@RequestBody XmlTestDo msg, HttpServletRequest request) {
        XmlTestDo res = new XmlTestDo();
        res.setInfoType(msg.getInfoType());
        return res;
    }

下面是实体类的写法:
使用JacksonXmlRootElement和JacksonXmlProperty注解
它们的实际作用与json传输时,使用JsonProperty来指定json key的作用相仿

@Data
@JacksonXmlRootElement(localName = "xml")
//JacksonXmlRootElement注解,定义返回的xml文档中最外层的标签名
public class XmlTestDo {
    @JacksonXmlProperty(localName = "InfoType")
    private String infoType;
    //JacksonXmlProperty 注解,定义每个属性值对应的标签名
}

在postman里测试
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值