如何将 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 相同,值未正确反序列化,因为 JsonPropertyJackson 注释,但库使用 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;
}