public class MappingJackson2JsonView extends AbstractJackson2View
View は、Jackson 2 ObjectMapper を使用して現在のリクエストのモデルをシリアライズすることで JSON コンテンツをレンダリングします。 デフォルトでは、モデルマップのコンテンツ全体(フレームワーク固有のクラスを除く)は JSON としてエンコードされます。モデルに含まれるキーが 1 つのみの場合は、setExtractValueFromSingleKeyModel(boolean) を介して JSON のみとしてエンコードされた抽出することができます
デフォルトのコンストラクターは、Jackson2ObjectMapperBuilder が提供するデフォルトの構成を使用します。
Spring 5.3 以降、Jackson 2.9 から 2.12 と互換性があります。
| 修飾子と型 | フィールドと説明 |
|---|---|
static StringSE | DEFAULT_CONTENT_TYPE デフォルトのコンテンツ型: "application/json". |
updateContentLengthloggerPATH_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, writeSuffixaddStaticAttribute, 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, writeToResponsegetServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContextgetApplicationContext, getMessageSourceAccessor, initApplicationContext, obtainApplicationContext, requiredContextClass, setApplicationContextcloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, waitSE, waitSE, waitSEpublic 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)
MapSE または単一の値オブジェクトのいずれかです。 デフォルトの実装では、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
AbstractJackson2ViewAbstractJackson2View の writePrefix generator - コンテンツの書き込みに使用するジェネレーター。object - 出力メッセージに書き込むオブジェクト。IOExceptionSE