如何将 CouchDB 文档上的属性映射到 java 模型对象?
How to map properties on the CouchDB document to java model object?
我在一个数据库中有一组 CouchDB 文档,它们的结构如下:
{
"_id": "adebafb022857385a4c970b0f0000349",
"_rev": "2-19d78f4d8d6386bfbe7b2c03b5213830",
"street_number": "20",
"street_name": "B.Baker St",
"city_name": "Marylebone",
"zip_code": "2550",
"status": "active"
}
如您所见,属性不是驼峰式大小写,我尝试使用 JsonProperty 进行映射,但是,除了状态 属性.
之外,我在所有属性中都得到空值
我已经推送了这个 repo 中的代码 link
非常感谢任何帮助
关于 CouchDB,我使用 docker 容器和 CouchDB 图像。
假设这与 https://github.com/cloudant/java-cloudant/issues/536 相同,值未正确反序列化,因为 JsonProperty
是 Jackson 注释,但库使用 Gson反序列化.
Gson 等效注解是@SerializedName
。
我已经使用 com.google.code.gson
与 @SerializedName
的依赖关系如下:
package com.example.couch_mapping.model;
import com.google.gson.annotations.*;
import lombok.Data;
@Data
public class AddressDto {
@SerializedName("_id")
String id;
@SerializedName("_rev")
String revision;
@SerializedName("street_number")
String streetNumber;
@SerializedName("street_name")
String streetName;
@SerializedName("city_name")
String cityName;
@SerializedName("zip_code")
String zipCode;
String status;
}
我在一个数据库中有一组 CouchDB 文档,它们的结构如下:
{
"_id": "adebafb022857385a4c970b0f0000349",
"_rev": "2-19d78f4d8d6386bfbe7b2c03b5213830",
"street_number": "20",
"street_name": "B.Baker St",
"city_name": "Marylebone",
"zip_code": "2550",
"status": "active"
}
如您所见,属性不是驼峰式大小写,我尝试使用 JsonProperty 进行映射,但是,除了状态 属性.
之外,我在所有属性中都得到空值我已经推送了这个 repo 中的代码 link
非常感谢任何帮助
关于 CouchDB,我使用 docker 容器和 CouchDB 图像。
假设这与 https://github.com/cloudant/java-cloudant/issues/536 相同,值未正确反序列化,因为 JsonProperty
是 Jackson 注释,但库使用 Gson反序列化.
Gson 等效注解是@SerializedName
。
我已经使用 com.google.code.gson
与 @SerializedName
的依赖关系如下:
package com.example.couch_mapping.model;
import com.google.gson.annotations.*;
import lombok.Data;
@Data
public class AddressDto {
@SerializedName("_id")
String id;
@SerializedName("_rev")
String revision;
@SerializedName("street_number")
String streetNumber;
@SerializedName("street_name")
String streetName;
@SerializedName("city_name")
String cityName;
@SerializedName("zip_code")
String zipCode;
String status;
}