1

Spring MVC を使用するプロジェクトに取り組んでおり、要件の 1 つは、外部サービスにリクエストを送信してトランザクションを処理することです。現在の問題は、外部サービスが POST メソッドしか使用しないことです。私はどこを見ても、ユーザーを POST リクエスト (フォーム送信と同様) として外部サイトに転送する方法を見つけることができませんでした。

私たちがやろうとしていること:

1)私のコントローラーはリクエストを受け取り、いくつかのバックエンドを実行し、渡すパラメーターをいくつか構築します。

2) *いくつかのパラメータを指定して HTTP POST メソッドを介して外部サービスにリクエストを送信します。(注。ユーザーのブラウザには、外部サイトの URL が表示されます。)

Spring MVC のさまざまな戻り値の型を調べましたが、適合するものが見つかりませんでした。

アドバイスをいただければ幸いです。

ありがとう!

4

3 に答える 3

2

Apache HttpComponentsライブラリを使用して、コントローラーからHTTPリクエストを送信できます。使い方は簡単で、ドキュメントや例がたくさんあります。

于 2012-10-01T08:05:13.123 に答える
1

.を意味するため、リダイレクトできませんGET

POSTクライアントは Web ブラウザーを使用しているため、フォームを含む HTML ドキュメントを返し、ページが読み込まれたときにそのフォームを ( method 属性を使用して) 送信できるはずです。

于 2012-09-28T14:33:22.740 に答える
1

これはSpring MVCに関連する問題ではないと仮定します。それは、サーブレットでそのような操作を実装しようとするのと同じソリューションだと思います。

まず第一に、この外部サイトは非同期サービスである必要があり、そこから応答を得る必要はありませんよね? はいの場合、最も簡単な解決策は、サーブレットまたはコントローラー内で新しい URLConnection を作成し、パラメーターを作成して POST メソッドを設定し、リクエストを送信することだと思います。その後、お好きなようにローカルページに応答できます。

2 番目の解決策は、ダミーの JSP ページが必要です。ページはフォームを外部サービスに投稿し、必要に応じてターゲット ページにリダイレクトします。JavaScript を使用するかどうかに関係なく、ユーザーはブラウザーで更新を確認できると思います。

于 2012-09-28T14:45:19.273 に答える