我是网络开发的新手,我尝试构建REST服务,其中Web服务传达的是JSON。
现在我想知道的是哪种更好的方式来回应JSON?
方式1
{
"status": "success",
"messages": {},
"data": {
"Some Data": "About Something",
"Some Other Data": "About Something Else"
}
}
方式2
[
"Some Data": "About Something",
"Some Other Data": "About Something Else"
]
答案 0 :(得分:1)
如果您像第一个版本一样注释响应,那么您会发送更多数据,但是您可以打开诸如分页等内容的大门。如果客户端一次只需要少量数据,则需要对数据进行分页,生成整个数据集会过于繁重。
如果你像第二个版本一样提供原始响应,那么你发送的数据就会减少,但是你不太能够支持像分页这样的东西。你可以在那里强制它们,但客户端必须知道服务器的事情,这会导致它们之间的耦合增加。
所以这两种方法都适用于不同的情况。碰巧,诸如django rest framework之类的REST库提供了对这两种响应的支持。这清楚地表明,任何一方都可以工作,而且更适合你的情况更适合你的环境。
我想补充一点,您可以使用HTTP响应代码而不是显式消息来指示请求的成功状态。