Pourquoi est-JsonRequestBehavior nécessaire?

Pourquoi est Json Request Behavior nécessaire?

Si je veux limiter le HttpGet demande à mon action, je peux décorer l'action avec la [HttpPost] attribut

Exemple:

[HttpPost]
public JsonResult Foo()
{
    return Json("Secrets");
}

//Instead of:
public JsonResult Foo()
{
    return Json("Secrets", JsonRequestBehavior.AllowGet);
}

Pourquoi n'est-ce pas [HttpPost]suffisant?

Pourquoi le cadre des "bugs" nous de la JsonRequestBehavior.AllowGet pour chaque JsonResult que nous avons. Si je veux refuser les requêtes get, je vais ajouter la HttpPost attribut.

  • Très similaire à stackoverflow.com/questions/1625671/... (bien que j'ai trouvé celui-ci à la recherche de mon propre question :))
  • Parce que OBTENIR est censé être idempotent considérant que la POSTE ne l'est pas. En faisant Obtient -> les Postes, vous modifiez la sémantique de l'interface.
  • Parce que votre code aurait l'air trop propre si vous n'avez pas à ajouter crufty args partout.
InformationsquelleAutor gdoron | 2011-12-11