【问题标题】:Correct return type from web API来自 Web API 的正确返回类型
【发布时间】:2019-05-27 23:40:03
【问题描述】:

我正在为我的下一个项目创建一个 c# .net core 2.2 Web API。我的问题是返回数据时我应该返回对象还是IActionResult OK(returnObject)

我问的原因是我正在使用 swagger 和 swagger studio 为 Angular 前端创建模型。如果我从 API 返回 IActionResult,则返回的视图模型在 swagger.json 文件中没有详细说明,因此我必须在 Angular 应用程序中编写这些代码。如果我返回创建的任何对象,则模型将在 swagger.json 中创建。

在这种情况下,我应该遵循什么做法从 API 返回数据?

【问题讨论】:

  • docs 很好地涵盖了这一点。

标签: c# swagger-ui asp.net-core-2.2


【解决方案1】:

您可以返回 - 特定类型 - IActionResult - 行动结果

更多详情请参考MSDN文章:https://docs.microsoft.com/en-us/aspnet/core/web-api/action-return-types?view=aspnetcore-2.2

【讨论】:

    【解决方案2】:

    您确实想返回IActionResult(object),但还没有完成。

    ProducesAttribute注释你的控制器,用ProducesResponseTypeAttribute注释你的方法:

    [Produces("application/json")]
    public class SomethingController
    {
        [ProducesResponseType(typeof(YourObject), (int)HttpStatusCode.OK)]
        public IActionResult GetThing(int id)
        { ... }
    }
    

    这使 Swagger UI 可以了解预期的内容并适当地记录它。上面显示的是同步方法;它也适用于异步。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多