クラス 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)に似ていますが、既存のマッピングを置き換えるためのものです。voidstrategies(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 フレームワーク)の使用を許可するかどうかを決定します。useRegisteredExtensionsOnly
public ContentNegotiationConfigurer useRegisteredExtensionsOnly(boolean useRegisteredExtensionsOnly) favorPathExtensionが設定されている場合、このプロパティは、登録されたMediaTypeマッピングのみを使用して特定の MediaType へのパス拡張を解決するかどうかを決定します。デフォルトでは、これは設定されていません。その場合、
PathExtensionContentNegotiationStrategyは使用可能な場合はデフォルトを使用します。ignoreAcceptHeader
"Accept" リクエストヘッダーのチェックを無効にするかどうか。デフォルトでは、この値は
falseに設定されています。defaultContentType
コンテンツ型が優先度順にリクエストされない場合に使用するデフォルトのコンテンツ型を設定します。指定されたメディア型のいずれもサポートしない宛先が存在する場合、最後に
MediaType.ALLを追加することを検討してください。デフォルトでは、これは設定されていません。
defaultContentTypeStrategy
public ContentNegotiationConfigurer defaultContentTypeStrategy(ContentNegotiationStrategy defaultStrategy) コンテンツ型がリクエストされていないときに使用するコンテンツ型を決定するために使用するカスタムContentNegotiationStrategyを設定します。デフォルトでは、これは設定されていません。
buildContentNegotiationManager
この設定の設定に基づいてContentNegotiationManagerを構築します。- 導入:
- 4.3.12
- 関連事項: