You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android集成Realm出现Customer类firstName空值配置不匹配报错怎么解决

问题原因

该报错是字段非空约束不匹配导致,和字段类型无关。你在Android端为firstName字段添加了@Required注解,声明该字段不可为null,但你提供的服务端Schema中没有配置对应字段的非空约束,服务端默认所有未声明为required的字段均为可空状态,两端非空规则不一致触发了Schema mismatch报错。

解决方案

可根据业务需求选择任意一种方案对齐两端规则:

  • 方案1:对齐服务端规则到Android端
    给服务端Customer Schema添加required字段数组,声明所有不可为空的字段,修改后的服务端Schema示例如下:
    {
      "title": "Customer",
      "required": ["_id", "_partition", "firstName", "lastName", "email"],
      "properties": {
        "_id": {
          "bsonType": "objectId"
        },
        "_partition": {
          "bsonType": "string"
        },
        "email": {
          "bsonType": "string"
        },
        "firstName": {
          "bsonType": "string"
        },
        "lastName": {
          "bsonType": "string"
        },
        "phone": {
          "bsonType": "string"
        }
      }
    }
    
  • 方案2:对齐Android端规则到服务端
    移除Android端Customer类中firstName、lastName、email字段上的@Required注解,允许这些字段为null,和服务端默认的可空规则匹配。
验证操作

修改完成后,开发阶段可以先清空Android应用的本地存储(清除应用数据或者卸载重装),再重新启动应用同步数据,确认报错是否消失。

内容的提问来源于stack exchange,提问作者Menci

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 05:15:03