c# - 具有自引用类型的 ASP.NET Core MVC/WEB API 不返回 json 数组

标签 c# asp.net-web-api asp.net-core-mvc

您好 WEB API 开发人员!

当我尝试在 MVC6 中使用我的 WEB API 返回数组对象时遇到问题。

在调试 Controller 上,我获得了两个或多个对象,但结果只发送了一个对象的响应。我不知道还能做什么来解决这个问题。请帮助我!

我的 Controller 方法:

[HttpGet]
    public IEnumerable<Maquina> Get()
    {
        var maquinas = _cobraAppContext.Maquina
            .Include(m => m.IdMarcaMotorNavigation)
            .Include(m => m.IdModeloNavigation)
            .ToList();
        return maquinas;//Two or more object obtains :(
    }

只有 1 个对象的响应,但我的 Controller 调试显示不止一个:

[
  {
    "id": 1,
    "nombre": "M1",
    "idModelo": 3,
    "serie": "123456",
    "idMarcaMotor": 3,
    "serieMotor": "123456789",
    "descripcion": "ejemplo 123",
    "fechaCreacion": "2016-12-06T08:30:51.307",
    "idMarcaMotorNavigation": {
      "id": 3,
      "nombre": "DAEWO",
      "descripcion": "DAEWO",
      "fechaCreacion": "2016-11-29T15:17:33.223",
      "maquina": []
    }
  }
]

Postman

Controller debug

enter image description here

最佳答案

尝试另一种方法(在配置方法中,Startup.cs):

services.AddMvc().AddJsonOptions(options => {
            options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
        });

关于c# - 具有自引用类型的 ASP.NET Core MVC/WEB API 不返回 json 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40997959/

相关文章:

c# - 如何获取我在 C# 中所在页面的完整 url

C# XAML WPF 在 UserControl 上呈现之前使用参数

c# - C# 中的动态转换

c# - WebApi 无法遵守 JsonObjectAttribute 设置

.net - 如何在 Asp.Net Web api 中返回深度序列化对象(具有复杂类型属性)?

ASP.Net Core 2 ServiceProviderOptions.ValidateScopes 属性

c# - 使用 CSC 分别编译单个目录中的多个文件

c# - 为什么这个文件默认保存在IIS Express文件夹中?

asp.net-core-mvc - invalid_grant 错误 IdentityServer 3 和 asp.net core

asp.net-core - 404 包含 Razor 类库 (RCL) 中的静态内容