springboot实现xml传参和返回值
1、新建maven工程xml-bean-convert
pom.xml如下
- <?xml version="1.0" encoding="UTF-8"?>
- <project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <groupId>xml.bean.convert</groupId>
- <artifactId>xml-bean-convert</artifactId>
- <version>1.0-SNAPSHOT</version>
- <parent>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-parent</artifactId>
- <version>1.4.1.RELEASE</version>
- </parent>
- <dependencies>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-web</artifactId>
- </dependency>
- <dependency>
- <groupId>com.fasterxml.jackson.dataformat</groupId>
- <artifactId>jackson-dataformat-xml</artifactId>
- <version>2.9.8</version>
- </dependency>
- </dependencies>
- </project>
红色加粗部分是xml和bean转换依赖的包
2、启动类
- @SpringBootApplication
- public class Application {
- public static void main(String[] args) throws Exception {
- SpringApplication.run(Application.class, args);
- }
- }
3、新建实体类,并添加xml和和bean转换的注解(注意,注解要写在get方法上)
- public class Student {
- 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;
- }
- @Override
- public String toString() {
- return "Student{" +
- "id=" + id +
- ", stuName='" + stuName + '\'' +
- ", sex='" + sex + '\'' +
- '}';
- }
- }
- @JacksonXmlRootElement(localName ="MESSAGE")
- public class Teacher {
- private Integer id;
- private String teacherName;
- private List<Student> 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<Student> getStudentList() {
- return studentList;
- }
- public void setStudentList(List<Student> studentList) {
- this.studentList = studentList;
- }
- @Override
- public String toString() {
- return "Teacher{" +
- "id=" + id +
- ", teacherName='" + teacherName + '\'' +
- ", studentList=" + studentList +
- '}';
- }
- }
4、写controller进行测试
- @RestController
- @RequestMapping("/teacher")
- public class TeacherController {
- @RequestMapping(value = "/get-info",method = RequestMethod.GET, produces = "application/xml")
- @ResponseBody
- public Teacher getTest(){
- Student student1 = new Student();
- student1.setId(1);
- student1.setStuName("张三");
- student1.setSex("男");
- Student student2 = new Student();
- student2.setId(2);
- student2.setStuName("李四");
- student2.setSex("男");
- Teacher teacher = new Teacher();
- teacher.setId(11);
- teacher.setTeacherName("杨老师");
- teacher.setStudentList(Arrays.asList(student1,student2));
- return teacher;
- }
- @RequestMapping(value = "/post-info",method = RequestMethod.POST, consumes = "application/xml")
- public void postTest(@RequestBody Teacher teacher){
- System.out.println("postman传过来的xml信息转换成实体类如下:==========");
- System.out.println(teacher.toString());
- }
- }
1)首先用postman测试返回xml
2)首先用postman测试用xml格式传参
springboot实现xml传参和返回值的更多相关文章
- arm汇编进入C函数分析,C函数压栈,出栈,传参,返回值
环境及代码介绍 环境和源码 由于有时候要透彻的理解C里面的一些细节问题,所有有必要看看汇编,首先这一切的开始就是从汇编代码进入C的main函数过程.这里不使用编译器自动生成的这部分汇编代码,因为编译器 ...
- python函数传参和返回值注意事项
函数传参 空参数 定义函数时括号里面没有形参,调用时不用传参. def func(): print('null para.') # 调用 func() 位置传参 规定形参的数量,调用时必须传递相同数量 ...
- 深入理解PHP内核(十二)函数-函数的定义、传参及返回值
原文链接:http://www.orlion.ga/344/ 一.函数的定义 用户函数的定义从function 关键字开始,如下 function foo($var) { echo $var; ...
- 深入理解PHP内核(六)函数的定义、传参及返回值
一.函数的定义 用户函数的定义从function 关键字开始,如下 function foo($var) { echo $var; } 1.词法分析 在Zend/zend_language_scann ...
- winform访问url传参有返回值
using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Net;usi ...
- js 页面之间的跳转、传参以及返回上一页
js实现html 页面之间的跳转传参以及返回上一页的相关知识点 一.页面之间的跳转传参 1.在页面之间跳转的方式有两种: window.location.href="test.html?nu ...
- 065 01 Android 零基础入门 01 Java基础语法 08 Java方法 02 带参无返回值方法
065 01 Android 零基础入门 01 Java基础语法 08 Java方法 03 带参无返回值方法 本文知识点:带参无返回值方法 说明:因为时间紧张,本人写博客过程中只是对知识点的关键步骤进 ...
- 慕课网-Java入门第一季-7-3 Java 中无参带返回值方法的使用
来源:http://www.imooc.com/code/1579 如果方法不包含参数,但有返回值,我们称为无参带返回值的方法. 例如:下面的代码,定义了一个方法名为 calSum ,无参数,但返回值 ...
- 慕课网-Java入门第一季-7-2 Java 中无参无返回值方法的使用
来源:http://www.imooc.com/code/1578 如果方法不包含参数,且没有返回值,我们称为无参无返回值的方法. 方法的使用分两步: 第一步,定义方法 例如:下面代码定义了一个方法名 ...
随机推荐
- 【jquery】checkbox
jquery操作checkbox 模拟选中: $('#aaa').prop('checked', true); 模拟取消选中: $('#aaa').prop('checked', false); 其它 ...
- f5冗余BIG-IP系统的安装
1.设备服务群集 •一个系列的BIG-Ips彼此互相支持DSC •每一台BIG-IP 自己生成一个Device Object •不同设备的信息 •建立信任证书 •在local device上设置Dev ...
- php新增的一些特性
php新增的特性,只是略微整理,并不完全. 一.php5.3添加的新特性 1.?:简化的三元运算符 <?php $cur = $cur ? $cur : 1; $cur = $cur ?: 1; ...
- Three.js 对模型多个动画切换展示(fbx)
来源 :https://blog.csdn.net/qq_30100043/article/details/80087471 简介 上一节本想直接了结动画这一章.最后一想,没有做过模型动画切换的案例. ...
- IE7下面踩得坑
bug1.position:fixed:z-index:99; 出现了z-index:2的层级跑到他上面了, 为什么?会出现这问题??? 检查: 1你的固定定位的容器是不是被其他容器包裹,你包裹得容器 ...
- 9.26 H5日记
9.26 1.新的背景属性,background-position background-position有两个值,水平和垂直,单位px ❤在html和CSS当中,有三个属性可以向服务器发送请求,分别 ...
- eclipse中查找某一个字符串
想要完全匹配查找一个字符串,如iCard,而iCardSys或iiCard这种都不行,可以用正则表达式来查找,如下: 参考链接:http://blog.csdn.net/u014656992/arti ...
- swift 中使用weak self
request.responseString(encoding: NSUTF8StringEncoding) {[weak self] (res) -> Void in if let stron ...
- Memcache类
class Memcache{ private static $mem = null; public function mem_create(){ self::$mem = new \Memcache ...
- filedisk.sys
i386 amd http://blog.sina.com.cn/s/blog_4fcd1ea30100r19r.html