【问题标题】:Return a field as object or as primitive type in JSON in a REST API?在 REST API 中将字段作为对象返回还是作为 JSON 中的原始类型返回?
【发布时间】:2017-11-29 10:43:45
【问题描述】:

目前我正在开发一个带有状态对象的 REST API。我应该将状态作为字符串还是作为对象返回? 什么时候从作为基本类型的字段变为作为对象的字段是明智的?

[
    {
        "id": 1
        "name": "Hello"
        "status": "active"
    },
    {
        "id": 1
        "name": "Hello"
        "status": {
                   "id": 0
                   "name": "active"
                  }
    }
]

【问题讨论】:

    标签: json rest api


    【解决方案1】:

    对于extensibility,我建议去反对。

    使用对象还增加了能够在识别(通过id 字段)和描述(通过namedescription 字段)方面划分责任的优势,在您的情况下,状态。

    添加 i18n 作为可能的必要条件,对象还必须携带一个字符串作为标识符。

    所有这些都是简单的原语无法实现的。结论:找一个对象。

    其他有趣的备注给here

    【讨论】:

      【解决方案2】:

      这取决于你需要通过什么。

      如果您只想区分不同的状态并在客户端上拥有所有其他相关信息(字符串、翻译、图像),您可能只想发送一个简单的整数值并在客户端使用枚举。这会将数据减少到最少。

      如果您的数据在服务器端的某个状态内发生变化,则需要一个对象来传递其他所有内容。

      但这里的最佳做法是尽可能减少数据。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-12-09
        • 1970-01-01
        • 1970-01-01
        • 2018-12-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多