クラス 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 アクティベーションフレームワークまたは 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 StringSE
getMediaTypeKey
(NativeWebRequest request) メディア型の検索に使用するリクエストからキーを抽出します。protected void
handleMatch
(StringSE key, MediaType mediaType) キーがMappingMediaTypeFileExtensionResolver.lookupMediaType(java.lang.String)
を介して正常に解決されたときに処理を提供するためにオーバーライドします。protected MediaType
handleNoMatch
(NativeWebRequest request, StringSE key) キーが経由で解決されない場合の処理を提供するためにオーバーライドします。boolean
boolean
resolveMediaTypeKey
(NativeWebRequest webRequest, StringSE key) すでに抽出されたキーを受け入れるresolveMediaTypes(NativeWebRequest)
の代替。resolveMediaTypes
(NativeWebRequest webRequest) 指定されたリクエストをメディア型のリストに解決します。void
setIgnoreUnknownExtensions
(boolean ignoreUnknownExtensions) 不明なファイル拡張子を持つリクエストを無視するかどうか。void
setUseRegisteredExtensionsOnly
(boolean useRegisteredExtensionsOnly) 登録されたマッピングのみを使用してファイル拡張子を検索するか、動的解決を使用するか(例:クラス 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 が返された場合、ベースクラスのキャッシュに追加されます。