Est-ce considéré comme une mauvaise pratique d’effectuer HTTP POST sans corps d’entité?

Je dois appeler un processus qui ne nécessite aucune entrée de l’utilisateur, juste un déclencheur. Je prévois d’utiliser POST / uri sans corps pour déclencher le processus. Je veux savoir si cela est considéré comme mauvais à la fois par les outlook HTTP et REST?

J’ai posé cette question sur le groupe de travail HTTP de l’IETF il y a quelques mois. En bref, oui, mais je suggère de lire le fil pour plus de détails.

L’utilisation d’un POST au lieu d’un GET est parfaitement raisonnable, car il indique également au serveur (et aux passerelles en cours de route) de ne pas renvoyer de réponse en cache.

POST est complètement correct. En différence de GET avec POST, vous modifiez l’état du système (le plus probable est que votre déclencheur “fasse” quelque chose et modifie les données).

J’ai déjà utilisé POST sans charge utile et cela “semble” OK. Une chose que vous devez faire lorsque vous utilisez POST sans charge utile: En-tête de passe Content-Length: 0 . Je me souviens de problèmes avec certains proxies quand je ne suis pas passé par un api-client.

Si vous utilisez POST / uri sans corps, c’est quelque chose comme utiliser une fonction qui ne prend pas d’argument .eg int post (void); il est donc raisonnable d’avoir une fonction pour votre classe de ressources qui peut changer l’état d’un object sans avoir d’argument. Si vous envisagez d’implémenter la fonction tactile Unix pour un URI, n’est-ce pas un bon choix?