如果没有来自 WebAPI 的帮助器,这不可能是从 MVC6 返回状态码的最佳方式,不是吗?
Posted
技术标签:
【中文标题】如果没有来自 WebAPI 的帮助器,这不可能是从 MVC6 返回状态码的最佳方式,不是吗?【英文标题】:Without the helpers from WebAPI, this can't be the best way to return status codes from MVC6, can it? 【发布时间】:2015-03-15 02:06:35 【问题描述】:虽然我知道 MVC6 尚未发布,但它似乎缺少 WebAPI 甚至 MVC5 的许多功能。我可以假设这不是它在发布时的样子吗?
[HttpPost("")]
public async Task<ActionResult> Post(Visit newVisit)
var username = User.Identity.GetUserName();
newVisit.UserName = username;
if (await _repository.AddVisitAsync(newVisit))
Response.StatusCode = (int) HttpStatusCode.Created;
return Json(newVisit);
return new HttpStatusCodeResult((int)HttpStatusCode.BadRequest);
注意 Reponse.StatusCode 和 HttpStatusCodeResult 中的强制转换(我确实怀念只返回 Ok(...)、Created(...) 等。
【问题讨论】:
目前看起来像是框架中的一个错误。已提交错误。 请在此处找到答案:ASP.NET Core How to return a specific status code? 【参考方案1】:MVC 5 和 Web API 2 中的一些功能尚未被引入 MVC 6(包括 Web API)。 https://github.com/aspnet/Mvc/issues 的日志记录问题是请求任何缺失功能的正确位置。请检查现有问题,因为已经跟踪了许多问题。
请注意,当 MVC 和 Web API 合并时,有几个 API 被重命名,因为我们不希望有重复的 API,所以即使可能不存在 exact API 匹配,它也可能只是有一个新名字。
【讨论】:
是的,FX 从那时起发生了很大变化。现在支持常用的 Ok()、BadRequest() 等辅助方法。以上是关于如果没有来自 WebAPI 的帮助器,这不可能是从 MVC6 返回状态码的最佳方式,不是吗?的主要内容,如果未能解决你的问题,请参考以下文章