exception-handling之http CreateErrorResponse 可以返回复杂的对象内容吗

cyq1162 阅读:19 2024-11-01 17:39:52 评论:0

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

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

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

因此客户端可以调用 Api try update,如果客户端收到带有此错误代码的错误响应并且内容是这些依赖项,则客户端可以使用这些依赖项进行自动化。

有可能吗?

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

的内容

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

请您参考如下方法:

您不限于使用 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 类的实例。


标签:Exception
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号