2016-03-31 37 views
2

私はSpring MVC Webアプリケーションを作成しています。 問題は、1つのメソッドで2回呼び出され、なぜかわからないということです。2回呼び出されるSpringコントローラメソッド

@RequestMapping(value="/profile/{id}", method = RequestMethod.GET) 
public String displayUserProfile(@PathVariable String id) { 

    System.out.println("asdasddsasd"); 

    return "account/userProfile"; 

} 

私はこの方法から多くの行をコメントしましたが、まだ動作していません。また、他のビューを返そうとした。いい幸運。コンソールで

(ULR要求が書かれている):tihsメソッドの2番目の呼び出し後

/demo/account/profile/f91b3a38-6921-41e0-98b7-58dff5cb1152 
asdasddsasd 
/demo/account/profile/0 
asdasddsasd 

、それは私の見解

任意の他の方法の細かい作業になるだろう。 誰でも問題が何であるか知っていますか?私もコメントで言った:

*私もhere..nothingから同様の質問を読んで

LEを助けました。 面白いのは、モデルをビューに設定した場合、メソッドの2番目の呼び出しで、私のビューは最初の呼び出しからモデルを取得するということです。 (2番目の呼び出しでは、ID 0、モデルはnullです)

+0

プロジェクトをクリーンアップしてもう一度実行してください –

+0

春のデバッグログを有効にすることはできますか?そして、何が起こっているかを参照 – ravi

+0

サブブ、私はどちらもうまくいきませんでした。 ラビ、私は試してみる – UnguruBulan

答えて

1

に役立ちます。 多くのことを試しましたが、うまくいきませんでした。

Iは@RequestParamと@PathVariableを交換し、URLが2回アクセスされていない:)

+3

しかし、なぜ?!?!? –

+0

CORSの有効化が原因である可能性がありますか?しかし、私は同じ問題を抱えていますが、解決策が見つからないため、これを答えとして受け入れることはできません。 – Timmy

+0

この解決策は私にとってはうまくいきませんでした。 –

0

クライアント側の問題のようです。

  • 、ブラウザを開き/デモ/アカウント/プロファイル/ f91b3a38-6921-41e0-98b7-58dff5cb1152 を入力して チャンスはあなたが唯一のエントリ

  • を参照してくださいよということであるログを確認してください
  • クライアントコードを実行し、サービスへのネットワーク要求を確認します。あなたがクロムF12 - >ネットワークタブのようなブラウザからコントローラを呼び出す場合は助ける必要があります。

は、私は明白なのは、その種を知っているが、私はこのコントローラでは本当に「珍しい」何もないと思うので、それは一般的なフローのレベルでより多くをする必要があります。希望この場合、HTTPトラフィックをトレースし、/どのように多くのを見て、多分その最高/どのようにそれはあなたのコントローラに要求を生成ないとき

これは私が最終的にここに解決策を見つけるためにいくつかの時間を持っ

+0

すでに最初に試しましたが、それでも2回呼び出されます。私はあなたの2番目のアドバイスを試してみます – UnguruBulan

+0

私はsoap uiとブラウザのネットワークタブを開発者ツールから使用しています。 – Timmy

1

Iはコントローラメソッドを二回実行させる1つのGET要求をも観察しました。この問題は、Chromeブラウザを使用してサービスをリクエストしたときに発生しました(問題はPostmanを使用しても発生しませんでした)。私の場合は、JSONView Chrome拡張機能が原因でした。

Chromeデベロッパーツールの[ネットワーク]タブを使用して原因を特定しました。私のGETサービスは2回要求されていました。 2番目のリクエストはJSONViewにバンドルされたJavaScriptファイルであるcontent.jsによって開始されました。

JSONView拡張機能を無効にした後、Chrome経由のGETリクエストによってコントローラメソッドが1回だけ実行されます。

関連する問題