web-dev-qa-db-fra.com

Quelle est la différence entre ObjectResult et JsonResult

Il y a deux classes dans Microsoft.AspNetCore.Mvc espace de noms:

ObjectResult et JsonResult.

Les deux convertissent l'objet retourné au format JSON.

Quelle est la différence entre eux et quel est le but de les utiliser?

26
hcp

JsonResult est un IActionResult qui formate l'objet donné en JSON

ObjectResult est un IActionResult qui intègre la négociation de contenu.

À l'intérieur de son ExecuteResultAsync, responsable de l'écriture dans le flux de réponse, le framework parcourt les formats disponibles et en sélectionne un pertinent.

La logique de choix d'un formateur est similaire à celle de l'API Web ASP.NET et basée sur l'ordre de priorité suivant:

  • Accepter l'en-tête
  • En-tête Content-Type
  • sélection basée sur la correspondance de type

Classe OkObjectResult

Un Microsoft.AspNetCore.Mvc.ObjectResult qui, une fois exécuté, effectue la négociation de contenu, formate le corps de l'entité et produit un Microsoft.AspNetCore.Http.StatusCodes.Status200OK réponse si la négociation et le formatage réussissent.

Les références:

43
Nkosi