[英]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.