Web API和角度服务:UPDATE和DELETE请求的标准回复

时间:2014-02-18 09:49:33

标签: angularjs rest asp.net-web-api

在我的REST服务中,我有更新和删除部分。 根据{{​​3}},UPDATE操作应以bool方式回复,DELETE操作发送空回复。

现在,我有附加到服务的Angular $资源。我有以下问题:

  • 什么样的REST回复$ resource从服务器获取UPDATE和DELETE?有没有标准?
  • 如果服务器刚刚回复的不是对象/数组而只是布尔值,例如“true”,我该如何配置角度资源来接受它,以及我以后如何在客户端访问它?

我已经注意到,在我的职位中,有角度的文档没有给出关于典型的回答应该是什么样子的任何特殊性,这是某种最佳实践。

谢谢你提前!

1 个答案:

答案 0 :(得分:1)

在你的链接中,他们只返回了模型的bool,这不是你的AngularJS应用程序会看到的。重要的是控制器返回的内容。返回HTTP状态是一种很好的做法。使用响应标头中的HTTP状态,您不需要bool,因为标头足以指示操作是成功还是失败。有时,您可能还想返回新更新的资源。

对于UPDATE操作,当您在创建新资源时更新资源或代码201(HttpStatusCode.OK)时,您可以返回代码200(HttpStatusCode.Created)(许多人使用POST作为后者)。您还可以将创建的资源添加到响应中。根据您的应用,这可能没有必要。

对于DELETE操作,只需在资源被删除时返回200,或者在操作无法完成时返回其他代码(例如404(HttpStatusCode.NotFound))。

RESTful HTTP in practice

在AngularJS应用程序中,您可以在$resource的成功/错误回调中访问对每个操作的响应。 HTTP状态代码将位于响应头中。

AngularJS $resource