フィルタとインターセプタを使用して、コントローラメソッドから送信されたレスポンスを修正しようとしましたが、フィルタまたはインターセプタを実行する前に応答がコミットされませんでした。 私は、ResponseBodyAdviceで別のオプションがあることを知っていましたが、HTTPステータスに基づいてレスポンスを変更することを意図しているため、正しい場所ではありません。いずれかのアイデアがあれば教えてください、私はどのように春のブーツとレストで達成することができますレスポンスが残りのコントローラから送信されました
答えて
はい、あなたはそれを行うことができます。インターセプターを作成する必要があるXYZというクラスを作成し、そのクラスをHandlerInterceptorAdapter
クラスに拡張します。
preHandle(...)
postHandle(...)
afterConcurrentHandlingStarted(...)
afterCompletion(...)
だから、あなたの必要性に応じて、あなたはすなわち、最後の方法で使用することができます:afterCompletion(...)
方法を、理由は次のように私が覚えている限りでは、このクラスは、あなたがオーバーライドできる4つの方法がありますこのメソッドは、クライアントにビューをレンダリングする準備ができたら実行されます。
xmlパターンを使用している場合は、そのクラスXYZを<mvc:interceptor>
タグ内のbeanとして登録する必要があります。
私が述べたように、アフターコンプリートを実行する前に、レスポンスがコミットされます。したがって、応答がコミットされたら、何もできません – Nadendla
次にpostHandle()メソッドを使用して、ビューを最終的に変更します.. @ user3004406 –
- 1. レスポンスが送信されず、httpヘッダーデータが送信されない
- 2. ビューからコントローラから送信されたエコーデータ
- 3. Windows7 IE9 NTLMのレスポンスがクライアントから送信されない
- 4. 受信したxmlコンテンツは、httpリクエストから残りのAPIに送信すると変更されます
- 5. ASP.NETサービスからJSONレスポンスが送信される
- 6. Laravel Policy - コントローラから送信された間違ったユーザ
- 7. レスポンスが送信されますか? (hubot-script)
- 8. JSONデータがコントローラからAJAXコールに送信されない
- 9. Ajaxフォームを送信してもコントローラに何も送信されませんか?
- 10. リクエストがRailsコントローラで送信されたことをテストしました
- 11. Laravelがコントローラからフォームを送信していますか?
- 12. ajaxからの入力値がコントローラに送信されません
- 13. アクティビティ - インテントからMainActivityに情報が送信されました
- 14. response.dataがPHPバックエンドから送信されました
- 15. SonarQubeで解析が終了したらHTTPレスポンスを送信できますか?
- 16. 送信ボタンからAjaxレスポンスを取得
- 17. Ajaxフォームから送信されたレスポンスデータを送信しますか?
- 18. [i-2a7fe91f]からのAWSレスポンスが受信されましたが、コマンドが失敗しました
- 19. ローカルホストから送信されたメールはオンラインホストから送信できません
- 20. 保存した後、コントローラから送信された新しいメッセージを受信していないクライアント
- 21. 残りのWebサービスからファイルを送信する
- 22. @RequestParamは、Ajaxから送られた残り
- 23. ビューからコントローラへのタッチイベントの送信
- 24. コントローラからの電子メールの送信
- 25. ajaxからコントローラへのデータ送信
- 26. 送信 - 残りのフレームワークをDjangoの
- 27. Android:アプリケーションから送信されたデータをキャプチャしますか?
- 28. req.bodyから送信されたデータが返されない
- 29. コントローラからのデータの送信中にfunction()が見つかりませんでした。
- 30. Javaオブジェクトを残りのWebServiceに送信
"HTTPステータスに基づいて応答を変更する"この状態はどうやって取得していますか?コントローラメソッドの1つを投稿してください。また、そのコントローラーメソッドからの応答で何をしたいのかを記述します。 –
@RamanujanR ResponseBodyAdviceではなく、FilterとInterceptorの中のレスポンスオブジェクトからステータスに応答できます。 – Nadendla