クラス MappingJackson2JsonView
java.lang.ObjectSE
org.springframework.context.support.ApplicationObjectSupport
org.springframework.web.context.support.WebApplicationObjectSupport
org.springframework.web.servlet.view.AbstractView
org.springframework.web.servlet.view.json.AbstractJackson2View
org.springframework.web.servlet.view.json.MappingJackson2JsonView
- 実装されているすべてのインターフェース:
Aware、BeanNameAware、ApplicationContextAware、ServletContextAware、View
Spring MVC
View は、Jackson 2 ObjectMapper を使用して現在のリクエストのモデルをシリアライズすることで JSON コンテンツをレンダリングします。 デフォルトでは、モデルマップのコンテンツ全体(フレームワーク固有のクラスを除く)は JSON としてエンコードされます。モデルに含まれるキーが 1 つのみの場合は、setExtractValueFromSingleKeyModel(boolean) を介して JSON のみとしてエンコードされた抽出することができます
デフォルトのコンストラクターは、Jackson2ObjectMapperBuilder が提供するデフォルトの構成を使用します。
- 導入:
- 3.1.2
- 作成者:
- Jeremy Grelle, Arjen Poutsma, Rossen Stoyanchev, Juergen Hoeller, Sebastien Deleuze
フィールドのサマリー
フィールドクラス org.springframework.web.servlet.view.json.AbstractJackson2View から継承されたフィールド
updateContentLengthクラス org.springframework.context.support.ApplicationObjectSupport から継承されたフィールド
loggerインターフェース org.springframework.web.servlet.View から継承されたフィールド
PATH_VARIABLES, RESPONSE_STATUS_ATTRIBUTE, SELECTED_CONTENT_TYPEコンストラクターの概要
コンストラクターコンストラクター説明Jackson2ObjectMapperBuilderによって提供されるデフォルト構成を使用して、コンテンツ型をapplication/jsonに設定して、新しいMappingJackson2JsonViewを構築します。MappingJackson2JsonView(ObjectMapper objectMapper) メソッドのサマリー
修飾子と型メソッド説明protected ObjectSEfilterModel(MapSE<StringSE, ObjectSE> model) 指定されたモデルから不要な属性を除外します。このビューによってレンダリングされるモデルの属性を返します。voidsetExtractValueFromSingleKeyModel(boolean extractValueFromSingleKeyModel) 単一の属性を含むモデルをマップとして直列化するか、モデルから単一の値を抽出して直接直列化するかを設定します。voidsetJsonPrefix(StringSE jsonPrefix) このビューの JSON 出力に使用するカスタムプレフィックスを指定します。voidsetModelKey(StringSE modelKey) このビューによってレンダリングされるモデルの属性を設定します。voidsetModelKeys(SetSE<StringSE> modelKeys) このビューによってレンダリングされるモデルの属性を設定します。voidsetPrefixJson(boolean prefixJson) このビューによる JSON 出力に接頭辞")]}', "を付ける必要があるかどうかを示します。protected voidwritePrefix(JsonGenerator generator, ObjectSE object) メインコンテンツの前にプレフィックスを書きます。クラス org.springframework.web.servlet.view.json.AbstractJackson2View から継承されたメソッド
filterAndWrapModel, getEncoding, getObjectMapper, prepareResponse, renderMergedOutputModel, setDisableCaching, setEncoding, setObjectMapper, setPrettyPrint, setUpdateContentLength, writeContent, writeSuffixクラス org.springframework.web.servlet.view.AbstractView から継承されたメソッド
addStaticAttribute, createMergedOutputModel, createRequestContext, createTemporaryOutputStream, exposeModelAsRequestAttributes, formatViewName, generatesDownloadContent, getAttributesMap, getBeanName, getContentType, getRequestContextAttribute, getRequestToExpose, getStaticAttributes, isExposePathVariables, render, setAttributes, setAttributesCSV, setAttributesMap, setBeanName, setContentType, setExposeContextBeansAsAttributes, setExposedContextBeanNames, setExposePathVariables, setRequestContextAttribute, setResponseContentType, toString, writeToResponseクラス org.springframework.web.context.support.WebApplicationObjectSupport から継承されたメソッド
getServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContextクラス org.springframework.context.support.ApplicationObjectSupport から継承されたメソッド
getApplicationContext, getMessageSourceAccessor, initApplicationContext, obtainApplicationContext, requiredContextClass, setApplicationContext
フィールドの詳細
DEFAULT_CONTENT_TYPE
デフォルトのコンテンツ型: "application/json"。AbstractView.setContentType(java.lang.String)を介してオーバーライドできます。- 関連事項:
コンストラクターの詳細
MappingJackson2JsonView
public MappingJackson2JsonView()Jackson2ObjectMapperBuilderによって提供されるデフォルト構成を使用して、コンテンツ型をapplication/jsonに設定して、新しいMappingJackson2JsonViewを構築します。MappingJackson2JsonView
- 導入:
- 4.2.1
メソッドの詳細
setJsonPrefix
このビューの JSON 出力に使用するカスタムプレフィックスを指定します。デフォルトはなしです。setPrefixJson
public void setPrefixJson(boolean prefixJson) このビューによる JSON 出力に接頭辞")]}', "を付ける必要があるかどうかを示します。デフォルトはfalseです。この方法で JSON 文字列のプレフィックスを使用すると、JSON ハイジャックを防ぐことができます。プレフィックスは、文字列をスクリプトとして構文的に無効にして、ハイジャックできないようにします。このプレフィックスは、文字列を JSON として解析する前に削除する必要があります。
setModelKey
クラスからコピーされた説明:AbstractJackson2Viewこのビューによってレンダリングされるモデルの属性を設定します。設定すると、他のすべてのモデル属性は無視されます。- 次で指定:
- クラス
AbstractJackson2ViewのsetModelKey
setModelKeys
このビューによってレンダリングされるモデルの属性を設定します。設定すると、他のすべてのモデル属性は無視されます。getModelKeys
このビューによってレンダリングされるモデルの属性を返します。setExtractValueFromSingleKeyModel
public void setExtractValueFromSingleKeyModel(boolean extractValueFromSingleKeyModel) 単一の属性を含むモデルをマップとして直列化するか、モデルから単一の値を抽出して直接直列化するかを設定します。このフラグを設定することの効果は、
MappingJackson2HttpMessageConverterを@ResponseBodyリクエスト処理メソッドとともに使用することに似ています。デフォルトは
falseです。filterModel
指定されたモデルから不要な属性を除外します。戻り値は、別のMapSE または単一の値オブジェクトのいずれかです。デフォルトの実装では、
BindingResultインスタンスと、modelKeysプロパティに含まれていないエントリが削除されます。- 次で指定:
- クラス
AbstractJackson2ViewのfilterModel - パラメーター:
model-AbstractJackson2View.renderMergedOutputModel(java.util.Map<java.lang.String, java.lang.Object>, jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse)に渡されるモデル- 戻り値:
- レンダリングされる値
writePrefix
クラスからコピーされた説明:AbstractJackson2Viewメインコンテンツの前にプレフィックスを書きます。- オーバーライド:
- クラス
AbstractJackson2ViewのwritePrefix - パラメーター:
generator- コンテンツの書き込みに使用するジェネレーター。object- 出力メッセージに書き込むオブジェクト。- 例外:
IOExceptionSE