猿问

使用 Spring RestTemplate 忽略使用 @JsonProperty

我用来通过Spring's序列化来自JSON的数据。@JsonPropertyRestTemplateexchange


@JsonProperty("ip_address")

public String ipAddress;


@JsonProperty("port")

public Integer port;

我需要这个属性来识别属性名称的大写和小写版本,即应该识别“ip_address”和“IP_ADDRESS”设置。@JsonProperty

我尝试了以下方法,但没有一个起作用:

这三个都只是具有各自属性的值,因为我为模板禁用了未知属性(也称为不同字母大小写)的错误。null


守着一只汪
浏览 162回答 2
2回答

青春有我

您可以告诉 Jackson 将所有属性名称转换为例如 SNAKE_CASE 变体,并相应地设置:@JsonProperty例:在弹簧引导中设置应用程序的属性。属性spring.jackson.property-naming-strategy=SNAKE_CASE或者,您可以仅为单个类启用它,并使用以下方式对类进行注释:@JsonNaming(PropertyNamingStrategy.SNAKE_CASE.class),然后设置@JsonProperty:@JsonProperty(vale="ip_address")

跃然一笑

Kishore Diyyana:对于要忽略 JSON 属性名称的案例的 Spring Boot 应用:步骤1:确保您的POJO / Domain / Model类具有具有相应参数的构造函数,删除任何零arg构造函数。步骤 2:添加 Jackson lib 作为依赖项 Ex:<dependency> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<groupId>com.fasterxml.jackson.module</groupId> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<artifactId>jackson-module-jaxb-annotations</artifactId> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<version>2.6.5</version> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</dependency>步骤 3:在 application.properties 文件中启用,如下所示 spring.jackson.mapper.accept_case_insensitive_properties=true
随时随地看视频慕课网APP

相关分类

Java
我要回答