SpringBoot接收Xml格式参数并转换为POJO对象
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对象相关推荐
- python接口自动化(四十一)- 发xml格式参数的post请求(超详解)
简介 最近在工作中,遇到一种奇葩的接口,它的参数数据是通过xml,进行传递的,不要大惊小怪的,林子大了什么鸟都有,每个人的思路想法不一样,开发的接口也是各式各样的,如果想要统一的话,必须是提前团队已经 ...
- SpringBoot传输XML格式
SpringbBoot传输XML格式数据 现在的Ajax传输数据越来越多的人使用的是json格式,理由也很简单,方便.快捷.打字少!但是工作中会遇到XML格式的数据传输的情况,今天就和大家分享一下sp ...
- xml格式的label转换为yolo-darknet版的label
xml格式的label转换为yolo-darknet版的label xml文件样例: ''' Author: Jiollos Date: 2020.3.11 将box中label转为yolo-dark ...
- Hibernate三种状态;query查询;ResultTransformer转换为pojo对象;可以将query语句写在xml中;Criteria查询;ProjectionList总和/f分组等函数
Session操作过程中的pojo对象存在三种状态: 1) 瞬时态:该对象在数据库中没有对应的数据 2) 持久态:数据库中存在该对象对应的数据,同时操作该对象的Session也存在. 3) 游离 ...
- java接收xml数据_关于java后台如何接收xml格式的数据
业务场景:用户发送下单请求,格式为xml格式,服务器接收数据完成下单,并返回结果给客户. 请求格式: 这段请求报文是xml格式的,在后台我们可以使用 javax.xml.bind.annotation ...
- excel xml mysql_数据库表转换为xml格式,excel转换为xml格式文件
c#把sql数据库表转换为xml文件 1.连接sql数据库 public bool Open() { try { if (sqlconn == null) { sqlconn = new SqlCon ...
- java 接收 xml_关于java后台如何接收xml格式的数据
业务场景:用户发送下单请求,格式为xml格式,服务器接收数据完成下单,并返回结果给客户. 请求格式: 这段请求报文是xml格式的,在后台我们可以使用 javax.xml.bind.annotation ...
- SpringBoot返回XML格式数据
首先,添加Jackson dependency依赖到pom.xml中 <dependency> <groupId>com.fasterxml.jackson.dataforma ...
- java 原生 json 转 xml java json转xml 实现代码 读取本地json文件 转成 xml数据 用springboot 发布xml格式数据
结果xml截图 json数据 main启动 import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; ...
最新文章
- AMD Ryzen 5000‘Cezanne’APU
- jq实现跳转404跳转,原生js实现跳转404跳转
- Nginx实现负载均衡(整合SpringBoot小demo)
- android如何让自定义控件居中,Android自定义控件之自定义TextView,实现drawableLeft可以和文字一起居中...
- EasyExcel实现写操作
- 在linux中500g怎么分区,500G的硬盘,怎么分区比较合理?
- 在c语言中a 这条语句的作用,C语言复习第二章
- 一个基于POP3协议进行邮箱账号验证的类
- 转 python测试框架最全资源汇总
- Redis解决秒杀中一人一单问题
- python匿名函数使用
- 敏捷结果30天练习即将开始
- TPS,QPS,RT,PV,UV,IV 含义
- 语音学习笔记3------matlab实现傅里叶反变换ifft()函数
- php微信公众平台关注后欢迎语的设置,关注公众号的欢迎语怎么设置?公众号欢迎语怎么加链接?...
- 微信公众号无服务器 外部链接,微信公众号文章怎么添加外部链接-给微信公众号文章添加外部链接的方法 - 河东软件园...
- 周末学习总结(LIO标定+kitti数据集的使用+evo工具的使用+开源数据集+ssh的使用)
- python离线安装第三方库
- 鸿蒙系统的家电,美的九阳搭载鸿蒙系统的家电正式上市,这手机系统上市真的稳了...
- 中地恒达无线倾角加速度计