json – REST API – 包含相关的对象详细信息或只包含ID

前端之家收集整理的这篇文章主要介绍了json – REST API – 包含相关的对象详细信息或只包含ID前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
什么是更好的设计实践?

如果我有对象A,它包含一些相关对象,例如我有一个car对象,它是各种类型.

应该根据请求api.example.org/cars/1只对ID资源进行响应(所以如果有人需要有关它们的详细信息,那么api.example.org/type/1需要另外一个API调用)

{
    "id": 1,"name": "Some Car","types": [
        1,2
    ]
}

或提供有关这些资源的详细信息

{
    "id": 1,"types": [
        {
            "id": 1,"name": "Some Type","something": "Blah"
        },{
            "id": 2,"something": "Blah"
        }
    ]
}

或者提供可选参数,如“displayAll”,然后提供可以在一个API调用中(在这种情况下为类型)的所有参数的名称的数组.

解决方法

这涉及REST的核心原则之一,称为HATEOAS(超媒体作为应用程序状态的引擎).

对象ID对于客户端是无用的和无意义的.你和他们做什么?将它们提供给搜索功能?构造一个新的URI附加到它的末尾?打电话一个1-800号码,问他们该怎么办?将其打印出来,并将其邮寄给政府机构,帮助API客户找到下一步?

只需返回完整的URI,所有的时间.给客户端的ID应该始终是URI – 它是唯一标识相关资源的东西,可用于检索,更新或删除它.

猜你在找的JavaScript相关文章