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 如果方法不包含参数,且没有返回值,我们称为无参无返回值的方法. 方法的使用分两步: 第一步,定义方法 例如:下面代码定义了一个方法名 ...
随机推荐
- 关于vuex状态管理模式架构
一. 什么是vuex 集中存储管理所有组件的状态 并以相应的规则保证以一种可预测的方式发生变化. 例子: 实现加减 <p>{{count}} <button @click=" ...
- mysql5.7 生成列 generated column
生成列的值是根据列定义中的表达式计算得出的. mysql5.7支持两种类型的生成列: 1.virtual 生成列:当从表中读取记录时,才计算该列值.不会把数据持久化在硬盘上. 2.stored 生成列 ...
- go语言log包的学习(log,Logger)
package main; import ( "log" "os" "time" "fmt" ) func main() ...
- go语言中的坑
package main; import ( "fmt" "time" "sync" ) //修改slice的坑 func add(s [] ...
- vmware磁盘空间扩展
往vmware虚拟机中导入数据库或者文件以后经常出现磁盘空间不够用.这个时候就需要扩展一下磁盘的大小. 笔者本来60G,现在想扩展到100G 命令如下 D:\Program Files (x86)\V ...
- Linux执行命令时遇到的些问题
1.执行lsb_release -a,提示 未安装lsb_release导致的,执行一下yum install redhat-lsb -y,问题解决 2.配置tomcat站点后重启tomcat,提示找 ...
- 基于kafka-net实现的可以长链接的消息生产者
今天有点时间,我就来说两句.最近接触的Kafka相关的东西要多一些,其实以前也接触过,但是在项目使用中的经验不是很多.最近公司的项目里面使用了Kafka消息中间件,由于以前的人员编写的客户端的类不是很 ...
- 26.mysql日志
26.mysql日志mysql日志包括:错误日志.二进制日志.查询日志.慢查询日志. 26.1 错误日志错误日志记录了mysqld启动到停止之间发生的任何严重错误的相关信息.mysql故障时应首先查看 ...
- url中含有%
Server.UrlEncode(“参数”)也可以使用javascript 的编码方式href="页面?name=encodeURI("参数")传送页代码编码 接收页代码 ...
- Tomcat假死的原因及解决方案
服务器配置:linux+tomcat 现象:Linux服务器没有崩,有浏览器中访问页面,出现无法访问的情况,没有报4xx或5xx错误(假死),并且重启tomcat后,恢复正常. 原因:tomcat默认 ...