在使用SpringBoot开发的REST API中映射到Java Object时,使XML有效内容字段不区分大小写
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在使用SpringBoot开发的REST API中映射到Java Object时,使XML有效内容字段不区分大小写相关的知识,希望对你有一定的参考价值。
由于历史原因,我们必须适应旧的系统。这是xml请求:
<?xml version="1.0" encoding="UTF-8"?>
<User>
<Age>18</Age>
<Gender>Male</Gender>
<PassWord>string</PassWord>
<UserName>
<FirstName>Maxwell</FirstName>
<LastName>xxx</LastName>
<MiddleName>string</MiddleName>
</UserName>
</User>
现在,我们需要使用spring boot实现使用者服务。但是在映射到bean时它不支持有效负载大小写不敏感。
@Data
public class User{
private Username UserName;
private String PassWord;
private int Age;
private String Gender;
@Data
class UserName{
private String LastName;
private String MiddleName;
private String FirstName;
}
}
我知道我可以使用@XmlElement,但在与swagger @annotation集成时会遇到一些问题。
我想使用@RequestBody Spring注释直接将XML有效负载映射到Java Object。我的问题是如何使java Object映射到忽略大小写的字段。
答案
我找到了处理这个问题的方法。我们可以将jackson-dataformat-xml导入到pom.xml中
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
<version>2.9.6</version>
</dependency>
如果不使用jackson-dataformat-xml,SpringBoot会自动使用JDK的JAXB来转换XML。它会区分大小写。
以上是关于在使用SpringBoot开发的REST API中映射到Java Object时,使XML有效内容字段不区分大小写的主要内容,如果未能解决你的问题,请参考以下文章
在带有 MVC REST API 的 SpringBoot 项目中返回 406 响应
Springboot和Spring Security中认证成功后如何授权Rest API调用
使用 SpringBoot 配置文件模拟 REST API 调用
无法在 SpringBoot 中使用 ControllerAdvice 返回 rest api 响应