クラス 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 ObjectSE
filterModel
(MapSE<StringSE, ObjectSE> model) 指定されたモデルから不要な属性を除外します。このビューによってレンダリングされるモデルの属性を返します。void
setExtractValueFromSingleKeyModel
(boolean extractValueFromSingleKeyModel) 単一の属性を含むモデルをマップとして直列化するか、モデルから単一の値を抽出して直接直列化するかを設定します。void
setJsonPrefix
(StringSE jsonPrefix) このビューの JSON 出力に使用するカスタムプレフィックスを指定します。void
setModelKey
(StringSE modelKey) このビューによってレンダリングされるモデルの属性を設定します。void
setModelKeys
(SetSE<StringSE> modelKeys) このビューによってレンダリングされるモデルの属性を設定します。void
setPrefixJson
(boolean prefixJson) このビューによる JSON 出力に接頭辞")]}', "
を付ける必要があるかどうかを示します。protected void
writePrefix
(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
指定されたモデルから不要な属性を除外します。戻り値は、別のMap
SE または単一の値オブジェクトのいずれかです。デフォルトの実装では、
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