手動でURLにPOSTメソッドを渡す方法は?
-
10-07-2019 - |
質問
顧客が支払いを行った後、外部支払いサイトに自分のサイトへのリターンURLを提供する必要があります。 RESTfulサブスクリプションコントローラーでの作成アクションになります。
支払いサイトにこれを与えようとしました
blah.com/users/7/subscription /?_ method = POST
しかし、戻ったとき、アプリはおそらく投稿ではなく取得リクエストであると考えているため、ショーアクションを呼び出そうとします。したがって、URLでメソッドを渡す方法に問題がありますが、何がわからないのです。
ユーザーは複数であり、1つのサブスクリプションのみを持つことができます。サブスクリプションは、私のルートで単一、つまりmap.resourceとして定義されています
誰でも助けてもらえますか?
解決
GETリクエストからPOSTすることはできません。
呼び出し元のアプリケーションが単にURLを実行している場合、これはGETリクエストです。 支払いサイトがあなたへのPOSTをサポートしていない場合、あなたはそれを行うことができません。
支払いサイトにPOSTの機能を提供しているかどうかを尋ねます。多くの人がしています。
他のヒント
外部サービスがPOSTでURLを呼び出していない場合は、アプリケーションではなく、そのサービスの問題です。また、CSRFはトークンなしでPOST、PUT、DELETEを保護するので、このメソッドではトークンを無効にする必要があり、できればそのリクエストを認証する他の方法があることを念頭に置いてください。
所属していません StackOverflow