Spring Web 3.2 には、DeferredResult非同期リクエスト処理用のクラスが付属しています。setErrorResult何か問題が発生した場合に代替応答を提供するための がありますが、http エラー コードを提供するオプションはありません。
確かに、失敗したリクエストの http 応答コードを制御できるはずです..新しい Spring API を使用してそれを行うにはどうすればよいですか?
Spring Web 3.2 には、DeferredResult非同期リクエスト処理用のクラスが付属しています。setErrorResult何か問題が発生した場合に代替応答を提供するための がありますが、http エラー コードを提供するオプションはありません。
確かに、失敗したリクエストの http 応答コードを制御できるはずです..新しい Spring API を使用してそれを行うにはどうすればよいですか?
メソッドのドキュメントにsetErrorResultは次のように書かれています。
DeferredResult のエラー値を設定して処理します。値は Exception または Throwable である場合があり、その場合、ハンドラーが例外を発生させたかのように処理されます。
を設定するExceptionことで、必要なコードを返す例外ハンドラーをトリガーできると思います。
引数として渡す例外には、setErrorResult注釈を付けることができます@ResponseStatus。たとえば、独自の例外クラスを作成します。
  @ResponseStatus(HttpStatus.NOT_FOUND)
  class NotFoundException extends RuntimeException {
     // add your own constructors to set the error message
     // and/or cause. See RuntimeException for valid ctors 
  }
  deferredResult.setErrorResult(new NotFoundException(reason, cause));