В пространстве имен Microsoft.AspNetCore.Mvc есть два класса:
ObjectResult и JsonResult.
Оба конвертируют возвращенный объект в формате JSON.
В чем разница между ними и какова цель их использования?
Ответ 1
JsonResult - это IActionResult, который форматирует данный объект как JSON
ObjectResult - это IActionResult, у которого есть согласование содержимого.
Внутри своего ExecuteResultAsync, ответственного за запись в поток ответов, структура будет проходить через доступные форматы и выбирать соответствующий.
Логика выбора форматирования аналогична логике ASP.NET Web API и основана на следующем порядке приоритета:
Принять заголовок
Заголовок Content-Type
выбор по типу соответствия
Класс OkObjectResult
An Microsoft.AspNetCore.Mvc.ObjectResult, который при выполнении выполняет согласование контента, форматирует тело объекта и Microsoft.AspNetCore.Http.StatusCodes.Status200OK ответ, если согласование и форматирование.