ユーザーからの入力を必要とせず、トリガーのみを必要とするプロセスを呼び出す必要があります。プロセスをトリガーするためのボディなしでPOST/uriを使用する予定です。これがHTTPとRESTの観点から悪いと考えられるかどうかを知りたいですか?
数か月前にIETF HTTPワーキンググループで この質問 を尋ねました。簡単な答えは:いいえ、悪い習慣ではありません(ただし、詳細についてはスレッドを読むことをお勧めします)。
GETの代わりにPOSTを使用すると、キャッシュされた応答を返さないようにサーバー(および途中のゲートウェイ)に指示するため、完全に合理的です。
POSTは完全にOKです。 GETとPOSTの違いは、システムの状態を変更していることです(ほとんどの場合、トリガーは何かを「実行」し、データを変更しています)。
ペイロードなしで既にPOSTを使用しましたが、「感じた」のでOKです。ペイロードなしでPOSTを使用するときは、ヘッダーContent-Length: 0
を渡す必要があります。 APIクライアントがそれを渡さなかったとき、いくつかのプロキシの問題を覚えています。
ボディなしでPOST/uriを使用する場合、引数を受け取らない関数を使用するようなものです。引数なしでオブジェクトの状態を変更できるURIにUnixタッチ機能を実装することを検討する場合、それは良い選択ではありませんか?
はい、ボディなしでPOSTリクエストを送信し、代わりにクエリ文字列パラメーターを使用しても構いません。ただし、パラメーターにHTTPが有効でない文字が含まれている場合はエンコードする必要があります。
たとえば、POST 'hello world'を終点にする必要がある場合は、次のようにする必要があります。 http://api.com?param=hello% 20world