通过springboot提供请求参数以及返回值为XML的服务

摘要:
说明:参考https://www.cnblogs.com/boshen-hzb/p/10334825.html实施1:构建。gradle添加以下依赖项:compilegroup:'com。fasterxml。杰克逊。dataformat',名称:'jackson dataformat xml',版本:'2.11.1'2:StudentVOpackage.com。应用程序

说明:参考https://www.cnblogs.com/boshen-hzb/p/10334825.html实现

1:build.gradle增加以下依赖

compile group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-xml', version: '2.11.1'

2:StudentVO

package com.wzh.app.test;

import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;

public class StudentVO {
    private Integer id;
    private String stuName;
    private String sex;

    @JacksonXmlProperty(isAttribute = true,localName = "STUDENT_ID")
    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    @JacksonXmlProperty(localName = "STUDENT_NAME")
    public String getStuName() {
        return stuName;
    }

    public void setStuName(String stuName) {
        this.stuName = stuName;
    }

    @JacksonXmlProperty(localName = "STUDENT_SEX")
    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }
}

3:TeacherVO

package com.wzh.app.test;

import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;

import java.util.List;

@JacksonXmlRootElement(localName ="MESSAGE")
public class TeacherVO {

    private Integer id;
    private String teacherName;
    private List<StudentVO> studentList;

    @JacksonXmlProperty(isAttribute = true,localName = "TEACHER_ID")
    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    @JacksonXmlProperty(localName = "TEACHER_NAME")
    public String getTeacherName() {
        return teacherName;
    }

    public void setTeacherName(String teacherName) {
        this.teacherName = teacherName;
    }

    @JacksonXmlElementWrapper(localName ="STUDENT_LIST")
    @JacksonXmlProperty(localName ="STUDENT")
    public List<StudentVO> getStudentList() {
        return studentList;
    }

    public void setStudentList(List<StudentVO> studentList) {
        this.studentList = studentList;
    }
}

4:TestCtrl

package com.wzh.app.test;

import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/teacher")
public class TestCtrl {

    @RequestMapping(value = "/post-info",method = RequestMethod.POST, consumes = "application/xml",produces = "application/xml")
    @ResponseBody
    public TeacherVO postTest(@RequestBody TeacherVO teacher){
        return teacher;
    }

}

5:通过postman进行测试

通过springboot提供请求参数以及返回值为XML的服务第1张

请求参数:

<MESSAGE TEACHER_ID="0001">
    <TEACHER_NAME>张老师</TEACHER_NAME>
    <STUDENT_LIST>
        <STUDENT STUDENT_ID="001">
            <STUDENT_NAME>张三</STUDENT_NAME>
            <STUDENT_SEX></STUDENT_SEX>
        </STUDENT>
        <STUDENT STUDENT_ID="002">
            <STUDENT_NAME>李四</STUDENT_NAME>
            <STUDENT_SEX></STUDENT_SEX>
        </STUDENT>
    </STUDENT_LIST>
</MESSAGE>

免责声明:文章转载自《通过springboot提供请求参数以及返回值为XML的服务》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Monkey APP压力稳定性测试记一次调bug的过程:windows下查找java应用程序CPU与内存过高下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

xStream完美转换XML、JSON(转)

xStream框架 xStream可以轻易的将Java对象和xml文档相互转换,而且可以修改某个特定的属性和节点名称,而且也支持json的转换; 前面有介绍过json-lib这个框架,在线博文:http://www.cnblogs.com/hoojo/archive/2011/04/21/2023805.html 以及Jackson这个框架,在线博文:ht...

Spring Boot配置文件详解:自定义属性、随机数、多环境配置

自定义属性与加载 我们在使用Spring Boot的时候,通常也需要定义一些自己使用的属性,我们可以如下方式直接定义: application-dev.yml 1 com.didispace.blog: 2 3 name: 程序猿DD 4 5 title: Spring Boot教程 6 7 desc: ${com.didispace.blog.na...

java实现的18位身份证格式验证算法

公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成.排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。 1、地址码 表示编码对象常住户口所在县(市、旗、区)的行政区划代码,按 GB/T 2260 的规定执行。 2、出生日期码 表示编码对象出生的年、月、日,按 GB/T 7408 的规定执行。年、月、日...

C#操作数据库还原bak文件 删除操作

/// <summary> ///还原数据库 /// </summary> /// <param name="dataBaseName">数据库名称</param> /// <param name="path">还原的路径bak文件&...

获取JAVA对象占用的内存大小

介绍两种获取JAVA对象内存大小的方法。 第一种:Instrumentation 简介: 使用java.lang.instrument 的Instrumentation来获取一个对象的内存大小。利用Instrumentation并且通过代理我们可以监测在JVM运行的程序的功能,它的原理是修改方法的字节码。 首先创建代理类 packagecom.dingt...

[Go]将string转换为io.Reader类型

在使用很多函数的时候需要传入string字符串 , 但是函数参数类型是io.Reader , 这时候就需要将string转换为Reader类型 例如下面的: strings.NewReader("aaaa") NewReader返回从读取的新Reader。 它类似于bytes.NewBufferString,但效率更高且只读。 bytes.NewB...