如果没有来自 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 返回状态码的最佳方式,不是吗?的主要内容,如果未能解决你的问题,请参考以下文章

WebAPI——自动生成帮助文档

如何知道(在 GCC 中)何时声明了给定的宏/预处理器符号?

呼叫不是从web api中的控制器传递到模型

WebApi 如何 优雅的 对 输入输出 解密加密

片段着色器是不是处理来自顶点着色器的所有像素?

如何在表单窗口中嵌入 HTML 帮助