0

ReadFromStream我正在实现一个 BufferedMediaTypeFormatter 以在 Web API 项目中使用,但是在覆盖BufferedMediaTypeTormatter时,我找不到有关如何处理错误的任何详细信息。

我知道我应该在IFormatterLogger.LogError方法中写入错误,但是如果输入无效,我应该返回什么?我应该返回null吗?还是抛出异常?如果是这样,应该抛出哪个异常?

4

1 回答 1

1

这取决于您正在寻找的用户体验类型。

如果您抛出异常,Web API 将缩短请求的处理并返回500 Internal Server响应(根据您的HttpConfiguration.IncludeErrorDetailPolicy设置有或没有异常详细信息)。

如果您通过 记录错误IFormatterLogger.LogError(在这种情况下您可以返回 null),则请求处理不会短路,用户需要检查ModelState有效性以确定是否有任何错误。

于 2013-10-30T18:56:24.487 回答