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 を使用したクラスコンストラクター。 |
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
- 使用する戦略 public ContentNegotiationConfigurer favorParameter(boolean favorParameter)
media type mappings
を登録する必要があります。 デフォルトでは、これは false
に設定されています。
public ContentNegotiationConfigurer parameterName(StringSE parameterName)
favorParameter(boolean)
がオンのときに使用するクエリパラメーター名を設定します。 デフォルトのパラメーター名は "format"
です。
@DeprecatedSE public ContentNegotiationConfigurer favorPathExtension(boolean favorPathExtension)
ContentNegotiationManagerFactoryBean.setFavorPathExtension(boolean)
の非推奨に関する注記を参照してください。 デフォルトでは、これは false
に設定されています。この場合、パス拡張はコンテンツネゴシエーションに影響を与えません。
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.setIgnoreUnknownPathExtensions(boolean)
の非推奨に関する注記を参照してください。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 ignoreAcceptHeader(boolean ignoreAcceptHeader)
デフォルトでは、この値は false
に設定されています。
public ContentNegotiationConfigurer defaultContentType(MediaType... defaultContentTypes)
指定されたメディア型のいずれもサポートしない宛先が存在する場合、最後に MediaType.ALL
を追加することを検討してください。
デフォルトでは、これは設定されていません。
public ContentNegotiationConfigurer defaultContentTypeStrategy(ContentNegotiationStrategy defaultStrategy)
ContentNegotiationStrategy
を設定します。デフォルトでは、これは設定されていません。
protected ContentNegotiationManager buildContentNegotiationManager()
ContentNegotiationManager
を構築します。ContentNegotiationManagerFactoryBean.getObject()