SpringBoot接收Xml格式参数并转换为POJO对象

1. 所需JavaBean

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(propOrder = {"head","body" })  // 子节点名称
@XmlRootElement(name = "xml")   // 当前节点名称
@Data
public class XmlRemoteDto {// 接收head标签private Head head;// 接收body标签private Body body;
}
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "body")
@XmlType(name = "userInfo")
@Data
public class Body {@XmlElement(name = "userInfo")private UserInfo userInfo;
}
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "head")  // 当前节点名称
@Data
public class Head {@XmlElement(name = "token")  // 子节点名称private String token;
}
// 业务所需的参数封装类
@Data
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "userInfo")
public class UserInfo {@XmlElement(name = "name")private String name;@XmlElement(name = "password")private String password;@XmlElement(name = "email")private String email;
}

2. XML解析工具类

@Slf4j
public class XmlParseUtil {/*** 解析XMl内容,转换为POJO类** @param clazz 要解析的对象* @param xml 解析的xml字符串* @return 解析完成的对象*/public static Object convertXmlStrToObject(Class clazz, String xml) {Object xmlObject = null;try {JAXBContext context = JAXBContext.newInstance(clazz);// 进行将Xml转成对象的核心接口Unmarshaller unmarshaller = context.createUnmarshaller();StringReader sr = new StringReader(xml);xmlObject = unmarshaller.unmarshal(sr);} catch (Exception e) {log.error("convert xmlStr to object error, msg <{}>",e.getMessage(),e);}return xmlObject;}
}

3. 处理接口

@PostMapping("/convertXmlToObject")
public String fzpAgencyInfo(@RequestBody String paramXml) {XmlRemoteDto xmlRemoteDto = (XmlRemoteDto) XmlParseUtil.convertXmlStrToObject(XmlRemoteDto.class, paramXml);Body body = xmlRemoteDto.getBody();UserInfo userInfo = body.getUserInfo();return userInfo.toString();
}

4. 测试

<xml><head><token>1234</token></head><body><userInfo><name>admin</name><password>123456</password><email>123@qq.com</email></userInfo></body>
</xml>

SpringBoot接收Xml格式参数并转换为POJO对象相关推荐

  1. python接口自动化(四十一)- 发xml格式参数的post请求(超详解)

    简介 最近在工作中,遇到一种奇葩的接口,它的参数数据是通过xml,进行传递的,不要大惊小怪的,林子大了什么鸟都有,每个人的思路想法不一样,开发的接口也是各式各样的,如果想要统一的话,必须是提前团队已经 ...

  2. SpringBoot传输XML格式

    SpringbBoot传输XML格式数据 现在的Ajax传输数据越来越多的人使用的是json格式,理由也很简单,方便.快捷.打字少!但是工作中会遇到XML格式的数据传输的情况,今天就和大家分享一下sp ...

  3. xml格式的label转换为yolo-darknet版的label

    xml格式的label转换为yolo-darknet版的label xml文件样例: ''' Author: Jiollos Date: 2020.3.11 将box中label转为yolo-dark ...

  4. Hibernate三种状态;query查询;ResultTransformer转换为pojo对象;可以将query语句写在xml中;Criteria查询;ProjectionList总和/f分组等函数

    Session操作过程中的pojo对象存在三种状态: 1)  瞬时态:该对象在数据库中没有对应的数据 2)  持久态:数据库中存在该对象对应的数据,同时操作该对象的Session也存在. 3)  游离 ...

  5. java接收xml数据_关于java后台如何接收xml格式的数据

    业务场景:用户发送下单请求,格式为xml格式,服务器接收数据完成下单,并返回结果给客户. 请求格式: 这段请求报文是xml格式的,在后台我们可以使用 javax.xml.bind.annotation ...

  6. excel xml mysql_数据库表转换为xml格式,excel转换为xml格式文件

    c#把sql数据库表转换为xml文件 1.连接sql数据库 public bool Open() { try { if (sqlconn == null) { sqlconn = new SqlCon ...

  7. java 接收 xml_关于java后台如何接收xml格式的数据

    业务场景:用户发送下单请求,格式为xml格式,服务器接收数据完成下单,并返回结果给客户. 请求格式: 这段请求报文是xml格式的,在后台我们可以使用 javax.xml.bind.annotation ...

  8. SpringBoot返回XML格式数据

    首先,添加Jackson dependency依赖到pom.xml中 <dependency> <groupId>com.fasterxml.jackson.dataforma ...

  9. java 原生 json 转 xml java json转xml 实现代码 读取本地json文件 转成 xml数据 用springboot 发布xml格式数据

    结果xml截图 json数据 main启动 import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; ...

最新文章

  1. AMD Ryzen 5000‘Cezanne’APU
  2. jq实现跳转404跳转,原生js实现跳转404跳转
  3. Nginx实现负载均衡(整合SpringBoot小demo)
  4. android如何让自定义控件居中,Android自定义控件之自定义TextView,实现drawableLeft可以和文字一起居中...
  5. EasyExcel实现写操作
  6. 在linux中500g怎么分区,500G的硬盘,怎么分区比较合理?
  7. 在c语言中a 这条语句的作用,C语言复习第二章
  8. 一个基于POP3协议进行邮箱账号验证的类
  9. 转 python测试框架最全资源汇总
  10. Redis解决秒杀中一人一单问题
  11. python匿名函数使用
  12. 敏捷结果30天练习即将开始
  13. TPS,QPS,RT,PV,UV,IV 含义
  14. 语音学习笔记3------matlab实现傅里叶反变换ifft()函数
  15. php微信公众平台关注后欢迎语的设置,关注公众号的欢迎语怎么设置?公众号欢迎语怎么加链接?...
  16. 微信公众号无服务器 外部链接,微信公众号文章怎么添加外部链接-给微信公众号文章添加外部链接的方法 - 河东软件园...
  17. 周末学习总结(LIO标定+kitti数据集的使用+evo工具的使用+开源数据集+ssh的使用)
  18. python离线安装第三方库
  19. 鸿蒙系统的家电,美的九阳搭载鸿蒙系统的家电正式上市,这手机系统上市真的稳了...
  20. 中地恒达无线倾角加速度计

热门文章

  1. 如何使用计算机程序打开文件,电脑的基本操作是什么?
  2. GPT2-Chinese:中文的GPT2训练代码
  3. 3分钟搞定微信小程序类美团用户商家距离计算
  4. 创意摄影最佳图像编辑器:Exposure X6 Bundle
  5. 3dMax 车削(坛子)
  6. python中显示图片和文字
  7. KingbaseES 转义字符
  8. Navicat无法远程连接MySql服务器问题的解决方法
  9. 【CAD】 绘制软件说明(面向产品以及技术等)
  10. linux游戏王,linux下使用ygopro,Duel!