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