何时在REST响应中放置资源的URL?
问题描述:
我已经看到一些网络服务使用指向另一个资源的链接进行响应,而不是在请求的资源中内联资源数据。这种方法何时是首选?或者我很好只使用JSON例如在我的回应?不创建与其他资源的链接...何时在REST响应中放置资源的URL?
{
...
user: "api/user/6"
...
}
答
REST响应正文或标题中提供的URL通常是引用URL。假设您通过调用REST服务来创建一个实体,并且您想知道如何在稍后检索该实体的详细信息。因此,一般创建实体时,它们都与唯一的ID相关联。此Id通常用于参考URL以获取该实体。这里是例子:
CREATE
/api/entity/ : POST to create an entity
RESPONSE : 200 OK response body/header
/api/entity/1
其中1所以现在对于实体生成的ID,你可以做一个GET来检索新创建的实体
GET : /api/entity/1
RESPONSE: details of the entity.
答
只需添加上的完整细节@ Juned Ahsan回答,
在大多数情况下,对REST服务POST操作的响应代码应为201创建。
在这种情况下,根据HTTP 1.1 protocol:
新创建的资源可以通过URI(或多个)被引用返回在响应的实体,以最特定的URI用于由位置给出的资源标题字段。
因此,你总是使用json,xml等在actjal响应?你不使用链接? – LuckyLuke 2013-05-11 13:18:47
这里的链接是什么意思?我们正在讨论REST API,而不是网页 – 2013-05-11 14:17:26