目前,我正在使用具有状态的对象处理REST API。我应该将状态作为字符串还是作为对象返回? 什么时候从作为基本类型的字段更改为作为对象的字段是否明智?
[
{
"id": 1
"name": "Hello"
"status": "active"
},
{
"id": 1
"name": "Hello"
"status": {
"id": 0
"name": "active"
}
}
]
答案 0 :(得分:2)
就extensibility而言,我建议选择并反对。
使用对象还增加了在识别(通过fe id
字段)和描述(通过fe name
或description
字段)方面分担责任的优势在你的情况下,一个状态。
添加i18n作为一种可能的必要性,一个对象也必须携带一个字符串作为标识符。
使用简单的原语无法实现所有这些功能。结论:寻找一个对象。
其他有趣的评论是here。
答案 1 :(得分:1)
这取决于你需要通过什么。
如果您只想在客户端上区分不同的状态并拥有所有其他相关信息(字符串,翻译,图像),您可能只想发送一个简单的整数值并在客户端使用枚举。这会将数据减少到最小量。
如果您在服务器端的某个状态中有更改的数据,则需要一个对象来传递其他所有内容。
但这里的最佳做法是尽可能减少数据。