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;}@Overridepublic 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;}@Overridepublic 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")@ResponseBodypublic 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格式传参
转载于:https://www.cnblogs.com/boshen-hzb/p/10334825.html
springboot实现xml传参和返回值相关推荐
- java中注解动态传参_SpringMVC之注解、传参、返回值及拦截器
1. 注解式开发之annotation-driven解释 (1) mvc注解驱动在哪个文件中配置? Springmvc.xml (2) 配置mvc注解驱动使用哪个标签? 2. 注解式开发之视图解析器 ...
- 【php7扩展开发四】函数的参数 ,引用传参 ,返回值
函数参数解析 之前我们定义的函数没有接收任何参数,那么扩展定义的内部函数如何读取参数呢?用户自定义函数在编译时会为每个参数创建一个zend_arg_info结构,这个结构用来记录参数的名称.是否引用传 ...
- Python exec使用:locals,golobals传参读取返回值
简介 exec 执行储存在字符串或文件中的Python语句,相比于 eval,exec可以执行更复杂的 Python 代码,等同于可以执行整个py文件. 简单示例: >> exec('fo ...
- 深入理解PHP内核(十二)函数-函数的定义、传参及返回值
原文链接:http://www.orlion.ga/344/ 一.函数的定义 用户函数的定义从function 关键字开始,如下 function foo($var) { echo $var; } 1 ...
- 多维数组之二维数组传参、返回值、申请内存问题
目录 多维数组 存储顺序 二维数组基础知识 数组名 下标 指向数组的指针 二维数组使用 初始化 作为函数参数的二维数组 二维数组返回值与申请内存问题 多维数组 如果某个数组的维数不止1个,它就被称为多 ...
- 【Python】多线程的使用,通过传参接收返回值
参考:廖雪峰的官方网站 Python多线程 多任务可以由多进程完成,也可以由一个进程内的多线程完成. 我们前面提到了进程是由若干线程组成的,一个进程至少有一个线程. 由于线程是操作系统直接支持的执行单 ...
- mybatis的mapper接口与xml传参问题
本文来说下mybatis的mapper接口与xml传参问题 文章目录 单个基础数据类型的传参 多个基础数据类型的传参 单个javabean 多个javabean 单个基础数据类型的传参 也就是说,接口 ...
- vue函数如何调用其他函数?_编程|如何简单理解函数的传参、返回、调用
1 函数内部变量的局部性 在一个函数中定义的变量(包括实参),其作用域仅限于定义它的函数中,在其它的函数不能使用,这种变量称为"局部变量". 局部变量的作用域:函数内部声明和定义的 ...
- Spring Boot AOP处理方法的入参和返回值
前言 IOC和AOP是Spring 中最重要的两个模块.这里练习一下如何使用Spring Boot AOP处理方法的入参和返回值. Spring AOP的简单介绍: AOP(Aspect-Orient ...
- Spring AOP(获取入参和返回值)及其原理:动态代理
此篇会先演示Spring AOP(获取入参和返回值),之后再演示AOP的原理:动态代理. Spring AOP: AOP思想: AOP(Aspect Oriented Programming),即面向 ...
最新文章
- 堆叠式传感器架构带来先进的视觉功能
- excel冻结窗口怎么设置_IE浏览器弹出窗口怎么设置
- RYU控制器的学习笔记(二)
- 使用Kotlin对ViewGroup的视图进行函数使操作
- Java Annotation的RetentionPolicy介绍
- prototype 1.5 中文说明.doc
- python3精要(57)-all,any,bin(转换二进制)
- 谁顶住双11的世界级流量洪峰?神龙架构负责人等9位大牛现场拆解阿里秘籍
- 敬业福和花花卡算啥?这次不来,你亏了
- Vue-CLI3.x 高版本覆盖低版本Vue-CLI2.x 解决方法
- CMAQ-5.2安装及测试数据运行
- 崩坏星穹铁道PC、安卓、iOS三端配置要求
- 一个不错的技术面试官是怎么样的?
- 邱与他的bug——Android中点击返回键重新刷新的问题
- HGAME 2022 week1 个人部分WP
- DEV、SIT、UAT、PET、SIM、PRD、PROD缩写介绍
- AC日记——Two poj 1849
- 在线课程推荐(国外篇)
- 解决:禁止访问 (403) CSRF验证失败
- Win11 KB5019157(22000.1281)11月累积补丁推送了!