クラス AbstractMappingContentNegotiationStrategy
java.lang.ObjectSE
org.springframework.web.accept.MappingMediaTypeFileExtensionResolver
org.springframework.web.accept.AbstractMappingContentNegotiationStrategy
- 実装されているすべてのインターフェース:
ContentNegotiationStrategy, MediaTypeFileExtensionResolver
- 既知の直属サブクラス
ParameterContentNegotiationStrategy
public abstract class AbstractMappingContentNegotiationStrategy
extends MappingMediaTypeFileExtensionResolver
implements ContentNegotiationStrategy
メディア型へのリクエストを解決する手順を含む
ContentNegotiationStrategy 実装の基本クラス。 まず、キー (たとえば、"json"、"pdf" ) をリクエスト (たとえば、ファイル拡張子、クエリパラメーター) から抽出する必要があります。次に、このようなマッピングを格納する基本クラス MappingMediaTypeFileExtensionResolver を介して、キーをメディア型に解決する必要があります。
handleNoMatch(NativeWebRequest, String) メソッドは、サブクラスにメディア型を検索するための追加の方法(たとえば、Java Activation フレームワークや ServletContext.getMimeType(String) など)を組み込むことを可能にします。基底クラスによって解決されたメディア型は、基底クラス MappingMediaTypeFileExtensionResolver に追加され、新しい検索のためにキャッシュされます。
- 導入:
- 3.2
- 作成者:
- Rossen Stoyanchev
フィールドのサマリー
フィールドインターフェース ContentNegotiationStrategy から継承されたフィールド
MEDIA_TYPE_ALL_LISTコンストラクターの概要
コンストラクターコンストラクター説明AbstractMappingContentNegotiationStrategy(@Nullable MapSE<StringSE, MediaType> mediaTypes) ファイル拡張子とメディア型の指定されたマップでインスタンスを作成します。メソッドのサマリー
修飾子と型メソッド説明getMediaTypeKey(NativeWebRequest request) メディア型の検索に使用するリクエストからキーを抽出します。protected voidhandleMatch(StringSE key, MediaType mediaType) キーがMappingMediaTypeFileExtensionResolver.lookupMediaType(String)を介して正常に解決されたときに処理を提供するためにオーバーライドします。handleNoMatch(NativeWebRequest request, StringSE key) キーが経由で解決されない場合の処理を提供するためにオーバーライドします。booleanbooleanresolveMediaTypeKey(NativeWebRequest webRequest, @Nullable StringSE key) すでに抽出されたキーを受け入れるresolveMediaTypes(NativeWebRequest)の代替。resolveMediaTypes(NativeWebRequest webRequest) 指定されたリクエストをメディア型のリストに解決します。voidsetIgnoreUnknownExtensions(boolean ignoreUnknownExtensions) 不明なファイル拡張子を持つリクエストを無視するかどうか。voidsetUseRegisteredExtensionsOnly(boolean useRegisteredExtensionsOnly) ファイル拡張子の検索に登録されたマッピングのみを使用するか、動的解決 (たとえば、MediaTypeFactory経由) も使用するかを指定します。
フィールドの詳細
logger
protected final org.apache.commons.logging.Log logger
コンストラクターの詳細
AbstractMappingContentNegotiationStrategy
メソッドの詳細
setUseRegisteredExtensionsOnly
public void setUseRegisteredExtensionsOnly(boolean useRegisteredExtensionsOnly) ファイル拡張子の検索に登録されたマッピングのみを使用するか、動的解決 (たとえば、MediaTypeFactory経由) も使用するかを指定します。デフォルトでは、これは
falseに設定されています。isUseRegisteredExtensionsOnly
public boolean isUseRegisteredExtensionsOnly()setIgnoreUnknownExtensions
public void setIgnoreUnknownExtensions(boolean ignoreUnknownExtensions) 不明なファイル拡張子を持つリクエストを無視するかどうか。これをfalseに設定すると、HttpMediaTypeNotAcceptableExceptionになります。デフォルトでは、これは false に設定されています。
isIgnoreUnknownExtensions
public boolean isIgnoreUnknownExtensions()resolveMediaTypes
public ListSE<MediaType> resolveMediaTypes(NativeWebRequest webRequest) throws HttpMediaTypeNotAcceptableException インターフェースからコピーされた説明:ContentNegotiationStrategy指定されたリクエストをメディア型のリストに解決します。返されるリストは、最初に特異性、次に品質パラメーターの順に並べられます。- 次で指定:
- インターフェース
ContentNegotiationStrategyのresolveMediaTypes - パラメーター:
webRequest- 現在のリクエスト- 戻り値:
- リクエストされたメディア型、またはリクエストされなかった場合は
ContentNegotiationStrategy.MEDIA_TYPE_ALL_LIST - 例外:
HttpMediaTypeNotAcceptableException- リクエストされたメディア型を解析できない場合
resolveMediaTypeKey
public ListSE<MediaType> resolveMediaTypeKey(NativeWebRequest webRequest, @Nullable StringSE key) throws HttpMediaTypeNotAcceptableException すでに抽出されたキーを受け入れるresolveMediaTypes(NativeWebRequest)の代替。- 例外:
HttpMediaTypeNotAcceptableException- 導入:
- 3.2.16
getMediaTypeKey
メディア型の検索に使用するリクエストからキーを抽出します。- 戻り値:
- 検索キー。ない場合は
null
handleMatch
キーがMappingMediaTypeFileExtensionResolver.lookupMediaType(String)を介して正常に解決されたときに処理を提供するためにオーバーライドします。handleNoMatch
protected @Nullable MediaType handleNoMatch(NativeWebRequest request, StringSE key) throws HttpMediaTypeNotAcceptableException キーが解決されない場合の処理を提供するためにオーバーライドします。MappingMediaTypeFileExtensionResolver.lookupMediaType(String)。サブクラスは、メディア型を決定するためにさらに手順を実行できます。このメソッドから MediaType が返された場合、ベースクラスのキャッシュに追加されます。