@TargetSE(valueSE={TYPESE,METHODSE}) @RetentionSE(valueSE=RUNTIMESE) @DocumentedSE public @interface MessageMapping
patterns をメッセージから抽出された宛先に一致させることにより、Message をメッセージ処理メソッドにマッピングするためのアノテーション。アノテーションは、すべてのクラスメソッドでパターンプレフィックスを宣言する方法として、型レベルでもサポートされています。@MessageMapping メソッドは、次の引数をサポートしています。
@Payload メソッド引数。メッセージのペイロードを抽出し、宣言されたターゲット型にデシリアライズします。@Payload 引数には、@Validated などの検証アノテーションが付けられ、JSR-303 検証が適用されます。アノテーションは、他の方法では処理されない引数に対してデフォルトで想定されるため、存在する必要はありません。@DestinationVariable メソッド引数。/hotels/{hotel} 必要に応じて、変数値を String から宣言されたメソッド引数型に変換することもできます。Converter を適用して、値を宣言されたターゲット型に変換する @Header メソッド引数。MapSE にも割り当て可能な @Headers メソッド引数。MessageHeaders メソッド引数。MessageHeaderAccessor メソッド引数。STOMP over WebSocket のような一部の処理シナリオでは、これは SimpMessageHeaderAccessor などの特殊化である場合もあります。Message<T>。PrincipalSE メソッド引数は、WebSocket を介した STOMP などの一部の処理シナリオでサポートされています。認証されたユーザーを反映します。戻り値の処理は、処理シナリオによって異なります。
@SendTo または @SendToUser アノテーションで指定されたカスタム宛先に送信されます。 このアノテーションの専門分野には、@SubscribeMapping(例: STOMP サブスクリプション)および @ConnectMapping(例: RSocket 接続)が含まれます。どちらもプライマリマッピングをさらに絞り込み、メッセージ型と照合します。両方を、共通のパターンプレフィックスを宣言する型レベルの @MessageMapping と組み合わせることができます。
さまざまなコンテキストでのこのアノテーションの使用の詳細については、Spring Framework リファレンスの以下のセクションを参照してください。
注 : コントローラーインターフェース(AOP プロキシなど)を使用する場合、@MessageMapping や @SubscribeMapping などのすべてのマッピングアノテーションを、実装クラスではなくコントローラーインターフェースに一貫して配置するようにしてください。
SimpAnnotationMethodMessageHandler, RSocketMessageHandlerpublic abstract StringSE[] value
STOMP over WebSocket メッセージの場合、これは AntPathMatcher -style パターンがメッセージの STOMP 宛先と照合されます。
RSocket の場合、これは AntPathMatcher または PathPattern ベースのパターンであり、設定に応じて、ストリームリクエストのルートに一致します。
パターンが設定されていない場合、マッピングはすべての宛先に一致します。