RESTE de l'API à l'aide de POST au lieu de GET

Supposons un service offre certains funcionality que je peux utiliser comme ceci:

GET /service/function?param1=value1&param2=value2

Est-il juste de dire que je peux l'utiliser avec une requête POST?

POST /service/function { param1 : value1, param2 : value2 }

Sont ces deux requêtes de la même manière? Puis-je utiliser la deuxième variante dans tous les cas ou la documentation doit explicitement dire que je peux utiliser à la fois les requêtes GET et POST?

  • Il n'y a pas de réponse générale à cette question - cela dépend de la personne mise en oeuvre. Et GET et POST devrait ont des sémantiques différentes, alors peut-être une manière générale, la réponse est "je n'espère pas"
  • REPOS et function ne vont pas bien ensemble. Si l'URL contient function, method, ou command, je sens l'odeur de la RPC
  • si votre objectif est de masquer la complexité de la structure de l'url elle-même, ne vous embêtez pas. à l'aide d'un POST méthode juste pour le "nettoyer" est un abus de POST si vous essayez de suivre les principes Reposant
  • Il n'y a pas de réponse générale à cette question dans une API HTTP qui ne respecte pas le standard. Vous pouvez faire ce que vous voulez. Si c'est Reposant, alors vous ne pouvez pas faire un POST si ce n'est pas documenté que la ressource n'est avec lui. Comme une question de fait, si c'est Reposant, il doit être à l'aide de HATEOAS, et vous ne seriez pas en train de faire un inattendu demande à quoi que ce soit.
  • Vous pouvez souvent obtenir les mêmes résultats, même si vous utilisez différents verbes. Il dépend juste de ce qui se passe à l'intérieur de votre itinéraire contrôleur et la valeur de retour.. etc. Pourtant, il est bon de tenir à des conventions.
  • Demande d'OBTENIR la longueur est limitée, ce qui si particulier OBTENIR la demande est très complexe et n'est tout simplement trop long? Comment peut-programmeur résoudre ce problème sans l'aide d'une requête POST, car le POST de longueur de demande est presque illimité?

InformationsquelleAutor hank | 2013-10-28