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 に追加されます(つまり、新しいルックアップ用にキャッシュされます)。
| コンストラクターと説明 |
|---|
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) キーが経由で解決されない場合の処理を提供するためにオーバーライドします。 |
ListSE<MediaType> | resolveMediaTypeKey(NativeWebRequest webRequest, StringSE key) すでに抽出されたキーを受け入れる resolveMediaTypes(NativeWebRequest) の代替。 |
ListSE<MediaType> | resolveMediaTypes(NativeWebRequest webRequest) 指定されたリクエストをメディア型のリストに解決します。 |
addMapping, getAllFileExtensions, getAllMediaTypes, getMediaTypes, lookupMediaType, resolveFileExtensionscloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEpublic ListSE<MediaType> resolveMediaTypes(NativeWebRequest webRequest) throws HttpMediaTypeNotAcceptableException
ContentNegotiationStrategyContentNegotiationStrategy の resolveMediaTypes webRequest - 現在のリクエスト null)HttpMediaTypeNotAcceptableException - リクエストされたメディア型を解析できない場合 public ListSE<MediaType> resolveMediaTypeKey(NativeWebRequest webRequest, StringSE key) throws HttpMediaTypeNotAcceptableException
resolveMediaTypes(NativeWebRequest) の代替。HttpMediaTypeNotAcceptableExceptionprotected abstract StringSE getMediaTypeKey(NativeWebRequest request)
null protected void handleMatch(StringSE key, MediaType mediaType)
MappingMediaTypeFileExtensionResolver.lookupMediaType(java.lang.String) を介して正常に解決されたときに処理を提供するためにオーバーライドします。protected MediaType handleNoMatch(NativeWebRequest request, StringSE key) throws HttpMediaTypeNotAcceptableException
MappingMediaTypeFileExtensionResolver.lookupMediaType(java.lang.String)。サブクラスは、メディア型を決定するためにさらに手順を実行できます。このメソッドから MediaType が返された場合は、基本クラスのキャッシュに追加されます。