クラス ContentNegotiationConfigurer
java.lang.ObjectSE
org.springframework.web.servlet.config.annotation.ContentNegotiationConfigurer
ContentNegotiationManager を作成し、1 つ以上の ContentNegotiationStrategy インスタンスで構成します。このファクトリは、基礎となる戦略を構成するプロパティを提供します。以下の表は、プロパティ名、デフォルト設定、設定に役立つ戦略を示しています。
| プロパティ Setter | デフォルト値 | 基礎戦略 | 有効または無効 |
|---|---|---|---|
favorParameter(boolean) | false | ParameterContentNegotiationStrategy | オフ |
ignoreAcceptHeader(boolean) | false | HeaderContentNegotiationStrategy | 使用可能 |
defaultContentType(MediaType...) | null | FixedContentNegotiationStrategy | オフ |
defaultContentTypeStrategy(ContentNegotiationStrategy) | null | ContentNegotiationStrategy | オフ |
5.0 の時点で、strategies(List) を使用して正確な戦略を設定できます。
- 導入:
- 3.2
- 作成者:
- Rossen Stoyanchev
コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明protected ContentNegotiationManagerこの設定の設定に基づいてContentNegotiationManagerを構築します。defaultContentType(MediaType... defaultContentTypes) コンテンツ型が優先度順にリクエストされない場合に使用するデフォルトのコンテンツ型を設定します。defaultContentTypeStrategy(ContentNegotiationStrategy defaultStrategy) コンテンツ型がリクエストされていないときに使用するコンテンツ型を決定するために使用するカスタムContentNegotiationStrategyを設定します。favorParameter(boolean favorParameter) リクエストされたメディア型を判別するためにリクエストパラメーター(デフォルトでは "format" )を使用する必要があるかどうか。ignoreAcceptHeader(boolean ignoreAcceptHeader) "Accept" リクエストヘッダーのチェックを無効にするかどうか。パス拡張またはクエリパラメーターから抽出されたキーから MediaType へのマッピングを追加します。mediaTypes(@Nullable MapSE<StringSE, MediaType> mediaTypes) parameterName(StringSE parameterName) favorParameter(boolean)がオンのときに使用するクエリパラメーター名を設定します。replaceMediaTypes(MapSE<StringSE, MediaType> mediaTypes) mediaType(String, MediaType)に似ていますが、既存のマッピングを置き換えるためのものです。voidstrategies(@Nullable ListSE<ContentNegotiationStrategy> strategies) 使用する戦略の正確なリストを設定します。useRegisteredExtensionsOnly(boolean useRegisteredExtensionsOnly) favorParameter(boolean)が設定されている場合、このプロパティは、登録されたMediaTypeマッピングのみを使用して特定の MediaType へのパス拡張を解決するかどうかを決定します。
コンストラクターの詳細
ContentNegotiationConfigurer
public ContentNegotiationConfigurer()
メソッドの詳細
strategies
使用する戦略の正確なリストを設定します。注意 : このメソッドの使用は、デフォルトの固定された戦略セットをカスタマイズするこのクラスの他のすべての setter の使用と相互に排他的です。詳細については、クラスレベルのドキュメントを参照してください。
- パラメーター:
strategies- 使用する戦略- 導入:
- 5.0
favorParameter
リクエストされたメディア型を判別するためにリクエストパラメーター(デフォルトでは「フォーマット」)を使用する必要があるかどうか。このオプションを機能させるには、media type mappingsを登録する必要があります。デフォルトでは、これは
falseに設定されています。- 関連事項:
parameterName
favorParameter(boolean)がオンのときに使用するクエリパラメーター名を設定します。デフォルトのパラメーター名は
"format"です。mediaType
パス拡張またはクエリパラメーターから抽出されたキーからのマッピングを MediaType に追加します。これは、パラメーター戦略が機能するために必要です。ここで明示的に登録された拡張機能も、Reflected File Download 攻撃検出の目的で安全として扱われます(RFD 攻撃保護の詳細については、Spring Framework リファレンスドキュメントを参照してください)。パス拡張戦略では、パス拡張を解決するために
ServletContext.getMimeType(String)とMediaTypeFactoryも使用しようとします。この動作を変更するには、useRegisteredExtensionsOnly(boolean)プロパティを参照してください。- パラメーター:
extension- 見上げる鍵mediaType- メディア型- 関連事項:
mediaTypes
- 関連事項:
replaceMediaTypes
mediaType(String, MediaType)に似ていますが、既存のマッピングを置き換えるためのものです。- 関連事項:
useRegisteredExtensionsOnly
public ContentNegotiationConfigurer useRegisteredExtensionsOnly(boolean useRegisteredExtensionsOnly) favorParameter(boolean)が設定されている場合、このプロパティは、登録されたMediaTypeマッピングのみを使用して特定の MediaType へのパス拡張を解決するかどうかを決定します。デフォルトでは、これは設定されていません。その場合、
ParameterContentNegotiationStrategyは、使用可能な場合はデフォルトを使用します。ignoreAcceptHeader
"Accept" リクエストヘッダーのチェックを無効にするかどうか。デフォルトでは、この値は
falseに設定されています。defaultContentType
コンテンツ型が優先度順にリクエストされない場合に使用するデフォルトのコンテンツ型を設定します。指定されたメディア型のいずれもサポートしない宛先が存在する場合、最後に
MediaType.ALLを追加することを検討してください。デフォルトでは、これは設定されていません。
- 関連事項:
defaultContentTypeStrategy
public ContentNegotiationConfigurer defaultContentTypeStrategy(ContentNegotiationStrategy defaultStrategy) コンテンツ型がリクエストされていないときに使用するコンテンツ型を決定するために使用するカスタムContentNegotiationStrategyを設定します。デフォルトでは、これは設定されていません。
- 導入:
- 4.1.2
- 関連事項:
buildContentNegotiationManager
この設定の設定に基づいてContentNegotiationManagerを構築します。- 導入:
- 4.3.12
- 関連事項: