public class MappingJackson2JsonView extends AbstractJackson2View
View
は、Jackson 2 ObjectMapper
を使用して現在のリクエストのモデルをシリアライズすることで JSON コンテンツをレンダリングします。 デフォルトでは、モデルマップのコンテンツ全体(フレームワーク固有のクラスを除く)は JSON としてエンコードされます。モデルに含まれるキーが 1 つのみの場合は、setExtractValueFromSingleKeyModel(boolean)
を介して JSON のみとしてエンコードされた抽出することができます
デフォルトのコンストラクターは、Jackson2ObjectMapperBuilder
が提供するデフォルトの構成を使用します。
Spring 4.3 の時点で、Jackson 2.6 以降と互換性があります。
修飾子と型 | フィールドと説明 |
---|---|
static StringSE | DEFAULT_CONTENT_TYPE デフォルトのコンテンツ型: "application/json". |
updateContentLength
logger
PATH_VARIABLES, RESPONSE_STATUS_ATTRIBUTE, SELECTED_CONTENT_TYPE
コンストラクターと説明 |
---|
MappingJackson2JsonView() Jackson2ObjectMapperBuilder によって提供されるデフォルト構成を使用して、コンテンツ型を application/json に設定して、新しい MappingJackson2JsonView を構築します。 |
MappingJackson2JsonView(ObjectMapper objectMapper) |
修飾子と型 | メソッドと説明 |
---|---|
protected ObjectSE | filterModel(MapSE<StringSE, ObjectSE> model) 指定されたモデルから不要な属性を除外します。 |
SetSE<StringSE> | getModelKeys() このビューによってレンダリングされるモデルの属性を返します。 |
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) メインコンテンツの前にプレフィックスを書きます。 |
filterAndWrapModel, getEncoding, getObjectMapper, prepareResponse, renderMergedOutputModel, setDisableCaching, setEncoding, setObjectMapper, setPrettyPrint, setUpdateContentLength, writeContent, writeSuffix
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
getServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContext
getApplicationContext, getMessageSourceAccessor, initApplicationContext, obtainApplicationContext, requiredContextClass, setApplicationContext
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, waitSE, waitSE, waitSE
public static final StringSE DEFAULT_CONTENT_TYPE
AbstractView.setContentType(java.lang.String)
を介してオーバーライドできます。public MappingJackson2JsonView()
Jackson2ObjectMapperBuilder
によって提供されるデフォルト構成を使用して、コンテンツ型を application/json
に設定して、新しい MappingJackson2JsonView
を構築します。public MappingJackson2JsonView(ObjectMapper objectMapper)
public void setJsonPrefix(StringSE jsonPrefix)
public void setPrefixJson(boolean prefixJson)
false
です。この方法で JSON 文字列のプレフィックスを使用すると、JSON ハイジャックを防ぐことができます。プレフィックスは、文字列をスクリプトとして構文的に無効にして、ハイジャックできないようにします。このプレフィックスは、文字列を JSON として解析する前に削除する必要があります。
public void setModelKey(StringSE modelKey)
AbstractJackson2View
の setModelKey
public void setModelKeys(@Nullable SetSE<StringSE> modelKeys)
public void setExtractValueFromSingleKeyModel(boolean extractValueFromSingleKeyModel)
このフラグを設定することの効果は、MappingJackson2HttpMessageConverter
を @ResponseBody
リクエスト処理メソッドとともに使用することに似ています。
デフォルトは false
です。
protected ObjectSE filterModel(MapSE<StringSE,ObjectSE> model)
Map
SE または単一の値オブジェクトのいずれかです。 デフォルトの実装では、BindingResult
インスタンスと、modelKeys
プロパティに含まれていないエントリが削除されます。
AbstractJackson2View
の filterModel
model
- AbstractJackson2View.renderMergedOutputModel(java.util.Map<java.lang.String, java.lang.Object>, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
に渡されるモデル protected void writePrefix(JsonGenerator generator, ObjectSE object) throws IOExceptionSE
AbstractJackson2View
AbstractJackson2View
の writePrefix
generator
- コンテンツの書き込みに使用するジェネレーター。object
- 出力メッセージに書き込むオブジェクト。IOExceptionSE