【发布时间】:2013-09-05 02:06:35
【问题描述】:
我在网上看到很多使用Request.CreateResponse 生成响应的 ASP.NET Web API 示例。如果在 Visual Studio 中创建新的 Web API 项目,默认 API 控制器将返回 IEnumerable<string> 或 string。用法上有什么区别?
【问题讨论】:
标签: asp.net-web-api
我在网上看到很多使用Request.CreateResponse 生成响应的 ASP.NET Web API 示例。如果在 Visual Studio 中创建新的 Web API 项目,默认 API 控制器将返回 IEnumerable<string> 或 string。用法上有什么区别?
【问题讨论】:
标签: asp.net-web-api
返回 HttpResponseMessage 允许您直接控制返回的 HTTP 响应的所有不同方面。如果你返回一个 POCO,你必须希望框架能做你想做的事。也许会,也许不会。
【讨论】:
Request.CreateResponse 可以生成其他 http 消息,例如404,500。
如果只是返回,http 消息将是200 OK。
在我的代码中,如果需要授权,我会这样返回:
throw new HttpResponseException(HttpStatusCode.Unauthorized);
写这个,你不必更改返回值。
【讨论】: