У меня есть проект .NET Core Web API, и одно из моих действий API возвращает объект в формате JSON. Этот объект имеет 3 уровня глубины, и я ожидаю, что он будет выглядеть так:
{
"pickupDate": "0001-01-01T00:00:00",
"pickupLocation": {
"address1": null,
"address2": null,
"address3": null,
"cityStateCountry": {
"city": null,
"state": null,
"country": null
},
"zip": null
},
"po": 12345,
"itemNameAndDesc": "BobSled"
}
Вместо этого cityStateCountry
объект просто отображается как null
. Я проверил, используя и Postman, и вывел весь объект json на вид с помощью angular.
{
"pickupDate": "0001-01-01T00:00:00",
"pickupLocation": {
"address1": null,
"address2": null,
"address3": null,
"cityStateCountry": null, //???
"zip": null
},
"po": 12345,
"itemNameAndDesc": "BobSled"
}
Насколько я понимаю, это проблема на стороне сервера. Почему .NET Core делает это и как я могу это исправить? Действие, которое получает данные, показано ниже:
// GET: api/Shipments/5
[HttpGet("{id}")]
public async Task<ActionResult<dynamic>> GetShipment(long id)
{
var ship = await _context.Shipments
.Where(c => !c.IsProcessed)
.Select(c => new
{
c.PO,
c.ItemNameAndDesc
})
.FirstOrDefaultAsync(c => c.PO == id);
if (ship == null)
{
return null;
}
var shipmentformviewmodel = new ShipmentFormViewModel()
{
PickupDate = new DateTime(),
PickupLocation = new PickupLocation(),
PO = ship.PO,
ItemNameAndDesc = ship.ItemNameAndDesc
};
return shipmentformviewmodel;
}