没有WebAPI的帮助,这不是从MVC6返回状态代码的最佳方式,可以吗?

时间:2015-01-16 12:56:31

标签: asp.net-core-mvc

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

1 个答案:

答案 0 :(得分:2)

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

请注意,当MVC和Web API合并时,已经重命名了几个API,因为我们不希望有重复的API,所以即使完全 API匹配可能不匹配,它也可能只是有一个新名字。