クラス ContentNegotiationConfigurer
ContentNegotiationManager を作成し、1 つ以上の ContentNegotiationStrategy インスタンスで構成します。このファクトリは、基礎となる戦略を構成するプロパティを提供します。以下の表は、プロパティ名、デフォルト設定、設定に役立つ戦略を示しています。
5.0 の時点で、strategies(List) を使用して正確な戦略を設定できます。
 注意 : URL ベースのコンテンツ型の解決を使用する必要がある場合、クエリパラメーターの使用は、パス拡張の使用よりも簡単であり、後者は URI 変数、パスパラメーター、URI デコードで課題を引き起こす可能性があるためです。favorPathExtension(boolean) を false に設定するか、そうでなければ strategies(List) を介して明示的に使用する戦略を設定することを検討してください。
- 導入:
- 3.2
- 作成者:
- Rossen Stoyanchev
- コンストラクターの概要コンストラクターコンストラクター説明- ContentNegotiationConfigurer- (ServletContextEE servletContext) - ServletContextEE を使用したクラスコンストラクター。
- メソッドのサマリー修飾子と型メソッド説明- protected ContentNegotiationManagerこの設定の設定に基づいて- ContentNegotiationManagerを構築します。- defaultContentType- (MediaType... defaultContentTypes) コンテンツ型が優先度順にリクエストされない場合に使用するデフォルトのコンテンツ型を設定します。- defaultContentTypeStrategy- (ContentNegotiationStrategy defaultStrategy) コンテンツ型がリクエストされていないときに使用するコンテンツ型を決定するために使用するカスタム- ContentNegotiationStrategyを設定します。- favorParameter- (boolean favorParameter) リクエストされたメディア型を判別するためにリクエストパラメーター(デフォルトでは "format" )を使用する必要があるかどうか。- favorPathExtension- (boolean favorPathExtension) 使用すべきではありません。5.2.4 現在。- ignoreAcceptHeader- (boolean ignoreAcceptHeader) "Accept" リクエストヘッダーのチェックを無効にするかどうか。- ignoreUnknownPathExtensions- (boolean ignore) 使用すべきではありません。5.2.4 現在。パス拡張またはクエリパラメーターから抽出されたキーから MediaType へのマッピングを追加します。- mediaTypes- (MapSE<StringSE, - MediaType> mediaTypes) - parameterName- (StringSE parameterName) - favorParameter(boolean)がオンのときに使用するクエリパラメーター名を設定します。- replaceMediaTypes- (MapSE<StringSE, - MediaType> mediaTypes) - mediaType(java.lang.String, org.springframework.http.MediaType)に似ていますが、既存のマッピングを置き換えるためのものです。- void- strategies- (ListSE<ContentNegotiationStrategy> strategies) 使用する戦略の正確なリストを設定します。- useJaf- (boolean useJaf) 使用すべきではありません。5.0 以降、逆の動作をする- useRegisteredExtensionsOnly(boolean)を推奨- useRegisteredExtensionsOnly- (boolean useRegisteredExtensionsOnly) - favorPathExtensionが設定されている場合、このプロパティは、登録された- MediaTypeマッピングのみを使用して特定の MediaType へのパス拡張を解決するかどうかを決定します。
- コンストラクターの詳細- ContentNegotiationConfigurer- ServletContextEE を使用したクラスコンストラクター。
 
- メソッドの詳細- strategies使用する戦略の正確なリストを設定します。- 注意 : このメソッドの使用は、デフォルトの固定された戦略セットをカスタマイズするこのクラスの他のすべての setter の使用と相互に排他的です。詳細については、クラスレベルのドキュメントを参照してください。 - パラメーター:
- strategies- 使用する戦略
- 導入:
- 5.0
 
- favorParameterリクエストされたメディア型を判別するためにリクエストパラメーター(デフォルトでは「フォーマット」)を使用する必要があるかどうか。このオプションを機能させるには、- media type mappingsを登録する必要があります。- デフォルトでは、これは - falseに設定されています。
- parameterName- favorParameter(boolean)がオンのときに使用するクエリパラメーター名を設定します。- デフォルトのパラメーター名は - "format"です。
- favorPathExtension使用すべきではありません。5.2.4 以降。- ContentNegotiationManagerFactoryBean.setFavorPathExtension(boolean)の非推奨の注記を参照してください。リクエストされたメディア型を判別するために、URL パスのパス拡張子を使用する必要があるかどうか。- デフォルトでは、これは - falseに設定されています。この場合、パス拡張はコンテンツネゴシエーションに影響を与えません。
- mediaTypeパス拡張またはクエリパラメーターから抽出されたキーからのマッピングを MediaType に追加します。これは、パラメーター戦略が機能するために必要です。ここで明示的に登録された拡張機能も、Reflected File Download 攻撃検出の目的で安全として扱われます(RFD 攻撃保護の詳細については、Spring Framework リファレンスドキュメントを参照してください)。- パス拡張戦略は、 - ServletContext.getMimeType(java.lang.String)EE および- MediaTypeFactoryを使用してパス拡張を解決しようとします。この動作を変更するには、- useRegisteredExtensionsOnly(boolean)プロパティを参照してください。- パラメーター:
- extension- 見上げる鍵
- mediaType- メディア型
- 関連事項:
 
- mediaTypes
- replaceMediaTypes- mediaType(java.lang.String, org.springframework.http.MediaType)に似ていますが、既存のマッピングを置き換えるためのものです。
- ignoreUnknownPathExtensions使用すべきではありません。5.2.4 以降。- ContentNegotiationManagerFactoryBean.setIgnoreUnknownPathExtensions(boolean)の非推奨の注記を参照してください。どのメディア型にも解決できないパス拡張子を持つリクエストを無視するかどうか。これを- falseに設定すると、一致するものがなければ- HttpMediaTypeNotAcceptableExceptionになります。- デフォルトでは、これは - trueに設定されています。
- useJaf使用すべきではありません。5.0 以降、逆の動作をする- useRegisteredExtensionsOnly(boolean)を推奨- favorPathExtension(boolean)が設定されている場合、このプロパティは、パス拡張を特定の MediaType に解決するために JAF(Java Activation フレームワーク)の使用を許可するかどうかを決定します。
- useRegisteredExtensionsOnlypublic ContentNegotiationConfigurer useRegisteredExtensionsOnly- (boolean useRegisteredExtensionsOnly) - favorPathExtensionが設定されている場合、このプロパティは、登録された- MediaTypeマッピングのみを使用して特定の MediaType へのパス拡張を解決するかどうかを決定します。- デフォルトでは、これは設定されていません。その場合、 - PathExtensionContentNegotiationStrategyは使用可能な場合はデフォルトを使用します。
- ignoreAcceptHeader"Accept" リクエストヘッダーのチェックを無効にするかどうか。- デフォルトでは、この値は - falseに設定されています。
- defaultContentTypeコンテンツ型が優先度順にリクエストされない場合に使用するデフォルトのコンテンツ型を設定します。- 指定されたメディア型のいずれもサポートしない宛先が存在する場合、最後に - MediaType.ALLを追加することを検討してください。- デフォルトでは、これは設定されていません。 
- defaultContentTypeStrategypublic ContentNegotiationConfigurer defaultContentTypeStrategy- (ContentNegotiationStrategy defaultStrategy) コンテンツ型がリクエストされていないときに使用するコンテンツ型を決定するために使用するカスタム- ContentNegotiationStrategyを設定します。- デフォルトでは、これは設定されていません。 
- buildContentNegotiationManagerこの設定の設定に基づいて- ContentNegotiationManagerを構築します。- 導入:
- 4.3.12
- 関連事項: