我在Web上看到了很多使用Request.CreateResponse
生成响应的ASP.NET Web API示例。如果在Visual Studio中创建新的Web API项目,则默认API控制器将返回IEnumerable<string>
或string
。用法有何不同?
答案 0 :(得分:2)
返回HttpResponseMessage
可以直接控制返回的HTTP响应的所有不同方面。如果你返回一个POCO,你必须希望框架做你想要的。也许它会,也许它不会。
答案 1 :(得分:0)
Request.CreateResponse可以生成其他http消息,例如404
,500
。
如果只是返回,则http消息将为200 OK
。
在我的代码中,如果需要授权,我会像这样返回:
throw new HttpResponseException(HttpStatusCode.Unauthorized);
写这个,你不必要改变返回值。