簡體   English   中英

具有自引用類型的ASP.NET Core MVC / WEB API不返回json數組

[英]ASP.NET Core MVC/WEB API with self-referencing type does not return json array

您好,WEB API開發人員!

當我嘗試使用MVC6中的WEB API返回數組對象時遇到問題。

在調試控制器上,我獲得了兩個或更多對象,但是結果僅發送一個對象的響應。 我不知道該解決更多問題。 請幫我!

我的控制器方法:

[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個對象的響應,但是我的控制器調試向我展示了多個:

 [ { "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": [] } } ] 

郵差

控制器調試

在此處輸入圖片說明

嘗試另一個方法(在配置方法Startup.cs中):

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

將方法簽名更改為IHttpActionResult並將控制器更改為ApiController方法,如下所示:

 public IHttpActionResult Get()
    {
        var maquinas = _cobraAppContext.Maquina
            .Include(m => m.IdMarcaMotorNavigation)
            .Include(m => m.IdModeloNavigation)
            .ToList();
        return Ok(maquinas);//Two or more object obtains :(
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM