spring boot中使用JSON/xml 解析报文 基于注解

  1. 先在pom文件中引入依赖包
    <dependency>
       <groupId>com.fasterxml.jackson.dataformat</groupId>
       <artifactId>jackson-dataformat-xml</artifactId>
       <version>2.9.0</version>
    </dependency>
  2. 内联网关使用的xml 和json相互转化的情况 
  3. 编写请求实体(懒得用自己当前使用的了,直接copy别人的实体类)
    1. @JacksonXmlRootElement(localName = "message")(这个注解的用处没感觉出来,因为之前做好了额转化工具,第一次使用,没人用过集合,就我在用,注解不会使用,特意百度了一波)
      public class UserRequest {
      
       @JacksonXmlElementWrapper(localName = "userlist") // 外围集合的注解 @JacksonXmlProperty(localName = "user") //属性的注解
         private List<User> userList;
      
       
         public List<User> getUserList() {
            return userList;
         }
      
         public void setUserList(List<User> userList) {
            this.userList = userList;
         }
      
      // 实体类
      public class User {
         @JacksonXmlProperty(localName = "idcard")
         private String idCard;
         @JacksonXmlProperty(localName = "username")
         private String name;
         @JacksonXmlProperty(localName = "sex")
         private String sex;
         @JacksonXmlProperty(localName = "age")
         private int age;
      }
  4. 扩展说明

    @JacksonXmlElementWrapper:可用于指定List等集合类,外围标签名;(当时做xml映射到的时候,出现了两个同名 list 特意百度总结了一下)
    @JacksonXmlProperty:指定包装标签名,或者指定标签内部属性名;
    @JacksonXmlRootElement:指定生成xml根标签的名字;
    @JacksonXmlText:指定当前这个值,没有xml标签包裹。
    实体bean中也可以使用  @XmlRootElement 和@XmlElement这个标签,分别对应于@JacksonXmlRootElement 和@JacksonXmlProperty

响应结果: 其他的地方还有很多的请求头信息可以添加进来

<?xml version="1.0" encoding="UTF-8"?>
<message>
<userlist>
<user>
<age>22</age>
<idcard>1333232432433</idcard>
<username>ddsf</username>
<sex>N</sex>
</user>
</userlist>
</message>

 

原创的地址 :https://www.cnblogs.com/scai-fxh/p/10598535.html

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值