インターフェース RequestBodyAdvice
- すべての既知の実装クラス:
JsonViewRequestBodyAdvice
,RequestBodyAdviceAdapter
public interface RequestBodyAdvice
ボディが読み取られてオブジェクトに変換される前にリクエストをカスタマイズできます。また、
@RequestBody
または HttpEntity
メソッドの引数としてコントローラーメソッドに渡される前に、結果のオブジェクトを処理できます。 この契約の実装は、RequestMappingHandlerAdapter
に直接登録されるか、@ControllerAdvice
でアノテーションが付けられている可能性が高く、その場合は自動検出されます。
- 導入:
- 4.2
- 作成者:
- Rossen Stoyanchev
メソッドのサマリー
修飾子と型メソッド説明afterBodyRead
(ObjectSE body, HttpInputMessage inputMessage, MethodParameter parameter, TypeSE targetType, ClassSE<? extends HttpMessageConverter<?>> converterType) リクエスト本文がオブジェクトに変換された後、3 番目(および最後)に呼び出されます。beforeBodyRead
(HttpInputMessage inputMessage, MethodParameter parameter, TypeSE targetType, ClassSE<? extends HttpMessageConverter<?>> converterType) リクエスト本文が読み取られて変換される前に 2 番目に呼び出されます。handleEmptyBody
(ObjectSE body, HttpInputMessage inputMessage, MethodParameter parameter, TypeSE targetType, ClassSE<? extends HttpMessageConverter<?>> converterType) ボディが空の場合、2 番目(および最後)に呼び出されます。boolean
supports
(MethodParameter methodParameter, TypeSE targetType, ClassSE<? extends HttpMessageConverter<?>> converterType) このインターセプターが適用されるかどうかを判別するために最初に呼び出されます。
メソッドの詳細
supports
boolean supports(MethodParameter methodParameter, TypeSE targetType, ClassSE<? extends HttpMessageConverter<?>> converterType) このインターセプターが適用されるかどうかを判別するために最初に呼び出されます。- パラメーター:
methodParameter
- メソッドパラメーターtargetType
- ターゲットの型。必ずしもメソッドのパラメーターの型と同じではありません。HttpEntity<String>
の場合。converterType
- 選択したコンバーター型- 戻り値:
- このインターセプターを呼び出すかどうか
beforeBodyRead
HttpInputMessage beforeBodyRead(HttpInputMessage inputMessage, MethodParameter parameter, TypeSE targetType, ClassSE<? extends HttpMessageConverter<?>> converterType) throws IOExceptionSE リクエスト本文が読み取られて変換される前に 2 番目に呼び出されます。- パラメーター:
inputMessage
- リクエストparameter
- ターゲットメソッドのパラメーターtargetType
- ターゲットの型。必ずしもメソッドのパラメーターの型と同じではありません。HttpEntity<String>
の場合。converterType
- 本体の逆直列化に使用されるコンバーター- 戻り値:
- 入力リクエストまたは新しいインスタンス (非
null
) - 例外:
IOExceptionSE
afterBodyRead
ObjectSE afterBodyRead(ObjectSE body, HttpInputMessage inputMessage, MethodParameter parameter, TypeSE targetType, ClassSE<? extends HttpMessageConverter<?>> converterType) リクエスト本文がオブジェクトに変換された後、3 番目(および最後)に呼び出されます。- パラメーター:
body
- 最初のアドバイスが呼び出される前にコンバーターオブジェクトに設定されますinputMessage
- リクエストparameter
- ターゲットメソッドのパラメーターtargetType
- ターゲットの型。必ずしもメソッドのパラメーターの型と同じではありません。HttpEntity<String>
の場合。converterType
- 本体の逆直列化に使用されるコンバーター- 戻り値:
- 同じ本体または新しいインスタンス
handleEmptyBody
@Nullable ObjectSE handleEmptyBody(@Nullable ObjectSE body, HttpInputMessage inputMessage, MethodParameter parameter, TypeSE targetType, ClassSE<? extends HttpMessageConverter<?>> converterType) ボディが空の場合、2 番目(および最後)に呼び出されます。- パラメーター:
body
- 通常、最初のアドバイスが呼び出される前にnull
に設定されますinputMessage
- リクエストparameter
- メソッドパラメーターtargetType
- ターゲットの型。必ずしもメソッドのパラメーターの型と同じではありません。HttpEntity<String>
の場合。converterType
- 選択したコンバーター型- 戻り値:
- 使用する値、または引数が必要な場合に
HttpMessageNotReadableException
を発生させる可能性のあるnull