3

所以我们有一个 Web Api,对于一些第 3 方自动化,第 3 方将调用我们的 API 尝试更新一些项目。

我们的 Web Api 将检查项目是否存在以及在执行实际更新过程之前还需要更新的一些依赖项(xaml/json 中的复杂对象)。

所以这里的问题是,如果我们发现一些客户端没有提供的依赖项,我希望能够向客户端响应一个错误响应消息,其中包含需要提供的异常和依赖项。

所以客户端可以调用Api try update,如果客户端得到这个错误响应和这个错误代码并且内容是这些依赖,客户端可以用这些依赖做自动化。

有可能做到吗?

因为我尝试使用CreateErrorResponse,但它不允许我提供类似CreateResponse(statusCode, complexObject)....的内容。

或者使用这个的最佳实践是什么?

4

1 回答 1

6

您不限于使用 CreateErrorResponse。它只是通过使用已经提供的 HttpError 类来简化工作:

http://msdn.microsoft.com/en-us/library/system.web.http.httperror%28v=vs.108%29.aspx

此类可以包含可以在响应正文中发送的附加键/值对集。

但是,您始终可以定义自己的错误类(即 ApiError),其中将包含您需要的确切数据,然后通过调用返回该类,即:

Request.CreateResponse(HttpStatusCode.BadRequest, error);

其中 error 是您的 ApiError 类的实例。

于 2013-03-22T19:07:13.283 回答