API设计:元素列表或外部资源?

时间:2018-03-12 11:26:13

标签: json rest json-api

我目前正在根据JSON API规范为我的公司指定API。

使用members检索GET host.com/members/{members_id}资源时,我需要公开许多电话号码phones

示例:

{
"data": {
    "type":"members",
    "id": "1",
    "attribute": {
        "phones": [{
            "phone": "",
            "type": ""
        }]
    }  
},
"relationships": {
    "subscriptions": {
        "links": {
            "related": "host.com/members/id/subscriptions"
        }
    },
    "relations": {
        "links:" {
            "related": "host.com/members/id/relations"
        }
    }
},
"links": {
    "self": "host.com/members/id"
}
}

我不知道公开一个简单的词典列表是否相关,或者是否最好能够在/members/me/phones/{phones_id}创建单独的资源,并为relationships添加新的members }已链接到phones

要在一个请求中检索members,我可以执行GET /members/{members_id}?include=phones

从我的开发人员的角度来看,访问单独的资源而不是管理和发布列表会更容易,特别是对于手机(例如只删除一部手机),但我很乐意拥有你的(通常是相关的)外部建议。

感谢您的支持!

1 个答案:

答案 0 :(得分:0)

您可以修改JSON响应吗?因为它不理想 这个理想:

 GET host.com/members/{members_id}

返回:

{
    "id": "1",
    "phones": [{
            "phone": "",
            "type": ""
        }
      ]
}  

获取host.com/members/ {members_id} / phones

[           
    {
                "phone": "",
                "type": ""
            },
           {
                "phone": "",
                "type": ""
            }
]