我看到一些Web服务使用指向另一个资源的链接进行响应,而不是在请求的资源中内联资源数据。这种方法何时首选?或者我在回复中仅使用JSON?没有创建到其他资源的链接......
{
...
user: "api/user/6"
...
}
答案 0 :(得分:0)
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.
答案 1 :(得分:0)
加上@Juned Ahsan回答,
在大多数情况下,REST服务上POST操作的响应代码应为 201 Created
在这种情况下,根据HTTP 1.1 protocol:
新创建的资源可以通过响应实体中返回的URI引用,其中包含Location头字段给出的资源的最具体URI。