如果没有来自 WebAPI 的帮助程序,这不可能是从 MVC6 返回状态代码的最佳方式,不是吗?



虽然我知道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(...) 等。

MVC 5 和 Web API 2 中的某些功能尚未引入 MVC 6(包括 Web API)。在 https://github.com/aspnet/Mvc/issues 记录问题是请求任何缺失功能的正确位置。请检查现有问题,因为许多问题已被跟踪。

请注意,当 MVC 和 Web API 合并时,几个 API 被重命名,因为我们不希望有重复的 API,所以即使可能没有确切的 API 匹配,它也可能只是有一个新名称。

最新更新