在REST API中以JSON形式返回字段作为对象或原始类型?

时间:2017-06-26 14:41:55

标签: json rest api

目前,我正在使用具有状态的对象处理REST API。我应该将状态作为字符串还是作为对象返回? 什么时候从作为基本类型的字段更改为作为对象的字段是否明智?

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

2 个答案:

答案 0 :(得分:2)

extensibility而言,我建议选择并反对。

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

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

使用简单的原语无法实现所有这些功能。结论:寻找一个对象。

其他有趣的评论是here

答案 1 :(得分:1)

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

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

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

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