public class ContentNegotiationConfigurer extends ObjectSE
ContentNegotiationManager
を作成し、1 つ以上の ContentNegotiationStrategy
インスタンスで構成します。このファクトリは、基礎となる戦略を構成するプロパティを提供します。以下の表は、プロパティ名、デフォルト設定、設定に役立つ戦略を示しています。
5.0 の時点で、strategies(List)
を使用して正確な戦略を設定できます。
注意 : URL ベースのコンテンツ型の解決を使用する必要がある場合、クエリパラメーターの使用は、パス拡張の使用よりも簡単であり、後者は URI 変数、パスパラメーター、URI デコードで課題を引き起こす可能性があるためです。favorPathExtension(boolean)
を false に設定するか、そうでなければ strategies(List)
を介して明示的に使用する戦略を設定することを検討してください。
コンストラクターと説明 |
---|
ContentNegotiationConfigurer(ServletContextEE servletContext) ServletContext EE を使用したクラスコンストラクター。 |
修飾子と型 | メソッドと説明 |
---|---|
protected ContentNegotiationManager | buildContentNegotiationManager() この設定の設定に基づいて ContentNegotiationManager を構築します。 |
ContentNegotiationConfigurer | defaultContentType(MediaType... defaultContentTypes) コンテンツ型が優先度順にリクエストされない場合に使用するデフォルトのコンテンツ型を設定します。 |
ContentNegotiationConfigurer | defaultContentTypeStrategy(ContentNegotiationStrategy defaultStrategy) コンテンツ型がリクエストされていないときに使用するコンテンツ型を決定するために使用するカスタム ContentNegotiationStrategy を設定します。 |
ContentNegotiationConfigurer | favorParameter(boolean favorParameter) リクエストされたメディア型を判別するためにリクエストパラメーター(デフォルトでは "format" )を使用する必要があるかどうか。 |
ContentNegotiationConfigurer | favorPathExtension(boolean favorPathExtension) 使用すべきではありません。 5.2.4 以降。パス拡張構成オプションの非推奨については、 ContentNegotiationManagerFactoryBean のクラスレベルのメモを参照してください。このメソッドに代わるものはないため、当面は false に設定するために引き続き使用する必要があります。5.3 では、false がデフォルトになると、このプロパティを使用する必要がなくなります。 |
ContentNegotiationConfigurer | ignoreAcceptHeader(boolean ignoreAcceptHeader) "Accept" リクエストヘッダーのチェックを無効にするかどうか。 |
ContentNegotiationConfigurer | ignoreUnknownPathExtensions(boolean ignore) 使用すべきではありません。 5.2.4 現在。パス拡張設定オプションの非推奨については、 ContentNegotiationManagerFactoryBean のクラスレベルの注意を参照してください。 |
ContentNegotiationConfigurer | mediaType(StringSE extension, MediaType mediaType) パス拡張またはクエリパラメーターから抽出されたキーから MediaType へのマッピングを追加します。 |
ContentNegotiationConfigurer | mediaTypes(MapSE<StringSE, MediaType> mediaTypes) |
ContentNegotiationConfigurer | parameterName(StringSE parameterName) favorParameter(boolean) がオンのときに使用するクエリパラメーター名を設定します。 |
ContentNegotiationConfigurer | replaceMediaTypes(MapSE<StringSE, MediaType> mediaTypes) mediaType(java.lang.String, org.springframework.http.MediaType) に似ていますが、既存のマッピングを置き換えるためのものです。 |
void | strategies(ListSE<ContentNegotiationStrategy> strategies) 使用する戦略の正確なリストを設定します。 |
ContentNegotiationConfigurer | useJaf(boolean useJaf) 使用すべきではありません。 5.0 以降、逆の動作をする useRegisteredExtensionsOnly(boolean) を推奨 |
ContentNegotiationConfigurer | useRegisteredExtensionsOnly(boolean useRegisteredExtensionsOnly) favorPathExtension が設定されている場合、このプロパティは、登録された MediaType マッピングのみを使用して特定の MediaType へのパス拡張を解決するかどうかを決定します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public ContentNegotiationConfigurer(@Nullable ServletContextEE servletContext)
ServletContext
EE を使用したクラスコンストラクター。public void strategies(@Nullable ListSE<ContentNegotiationStrategy> strategies)
注意 : このメソッドの使用は、デフォルトの固定された戦略セットをカスタマイズするこのクラスの他のすべての setter の使用と相互に排他的です。詳細については、クラスレベルのドキュメントを参照してください。
strategies
- 使用する戦略 @DeprecatedSE public ContentNegotiationConfigurer favorPathExtension(boolean favorPathExtension)
ContentNegotiationManagerFactoryBean
のクラスレベルの注記を参照してください。このメソッドに代わるものがないため、当面は false
に設定するには引き続きこのメソッドを使用する必要があります。5.3 で false
がデフォルトになると、このプロパティを使用する必要がなくなります。 デフォルトでは、これは true
に設定されます。その場合、/hotels.pdf
のリクエストは、"Accept" ヘッダーに関係なく "application/pdf"
のリクエストとして解釈されます。
public ContentNegotiationConfigurer mediaType(StringSE extension, MediaType mediaType)
パス拡張戦略は、ServletContext.getMimeType(java.lang.String)
EE および MediaTypeFactory
を使用してパス拡張を解決しようとします。この動作を変更するには、useRegisteredExtensionsOnly(boolean)
プロパティを参照してください。
extension
- 見上げる鍵 mediaType
- メディア型 mediaTypes(Map)
, replaceMediaTypes(Map)
public ContentNegotiationConfigurer mediaTypes(@Nullable MapSE<StringSE,MediaType> mediaTypes)
public ContentNegotiationConfigurer replaceMediaTypes(MapSE<StringSE,MediaType> mediaTypes)
mediaType(java.lang.String, org.springframework.http.MediaType)
に似ていますが、既存のマッピングを置き換えるためのものです。@DeprecatedSE public ContentNegotiationConfigurer ignoreUnknownPathExtensions(boolean ignore)
ContentNegotiationManagerFactoryBean
のクラスレベルの注記を参照してください。false
に設定すると、一致するものがなければ HttpMediaTypeNotAcceptableException
になります。 デフォルトでは、これは true
に設定されています。
@DeprecatedSE public ContentNegotiationConfigurer useJaf(boolean useJaf)
favorPathExtension(boolean)
が設定されている場合、このプロパティは、パス拡張を特定の MediaType に解決するために JAF(Java Activation フレームワーク)の使用を許可するかどうかを決定します。public ContentNegotiationConfigurer useRegisteredExtensionsOnly(boolean useRegisteredExtensionsOnly)
favorPathExtension
が設定されている場合、このプロパティは、登録された MediaType
マッピングのみを使用して特定の MediaType へのパス拡張を解決するかどうかを決定します。 デフォルトでは、これは設定されていません。その場合、PathExtensionContentNegotiationStrategy
は使用可能な場合はデフォルトを使用します。
public ContentNegotiationConfigurer favorParameter(boolean favorParameter)
media type mappings
を登録する必要があります。 デフォルトでは、これは false
に設定されています。
public ContentNegotiationConfigurer parameterName(StringSE parameterName)
favorParameter(boolean)
がオンのときに使用するクエリパラメーター名を設定します。 デフォルトのパラメーター名は "format"
です。
public ContentNegotiationConfigurer ignoreAcceptHeader(boolean ignoreAcceptHeader)
デフォルトでは、この値は false
に設定されています。
public ContentNegotiationConfigurer defaultContentType(MediaType... defaultContentTypes)
指定されたメディア型のいずれもサポートしない宛先が存在する場合、最後に MediaType.ALL
を追加することを検討してください。
デフォルトでは、これは設定されていません。
public ContentNegotiationConfigurer defaultContentTypeStrategy(ContentNegotiationStrategy defaultStrategy)
ContentNegotiationStrategy
を設定します。デフォルトでは、これは設定されていません。
protected ContentNegotiationManager buildContentNegotiationManager()
ContentNegotiationManager
を構築します。ContentNegotiationManagerFactoryBean.getObject()