MapperFeature各列舉項的作用

卡米i發表於2024-09-26
列舉項作用
ACCEPT_CASE_INSENSITIVE_ENUMS 決定列舉反序列化是否忽略大小寫。如果啟用,列舉反序列化將忽略大小寫。
ACCEPT_CASE_INSENSITIVE_PROPERTIES 決定屬性名稱反序列化是否忽略大小寫。如果啟用,屬性名稱反序列化將忽略大小寫。
ACCEPT_CASE_INSENSITIVE_VALUES 決定某些列舉型別的文字值反序列化是否忽略大小寫。如果啟用,這些值的反序列化將忽略大小寫。
ALLOW_COERCION_OF_SCALARS 決定是否允許從次要表示形式強制轉換為簡單的非文字標量型別。如果啟用,允許從字串轉換為數字和布林值。
ALLOW_EXPLICIT_PROPERTY_RENAMING 決定顯式命名的屬性是否可以被PropertyNamingStrategy重新命名。如果啟用,顯式命名的屬性可以被重新命名。
ALLOW_FINAL_FIELDS_AS_MUTATORS 決定是否允許將宣告為final的成員欄位自動檢測為可變更的屬性。如果啟用,final欄位可以被檢測為可變更的屬性。
AUTO_DETECT_CREATORS 決定是否自動檢測"creator"方法。如果啟用,公共建構函式和靜態單引數方法將被自動檢測為"creator"方法。
AUTO_DETECT_FIELDS 決定是否自動檢測非靜態欄位為屬性。如果啟用,所有公共成員欄位將被視為屬性。
AUTO_DETECT_GETTERS 決定是否根據標準Bean命名約定自動檢測"getter"方法。如果啟用,所有以"get"開頭的公共零引數方法將被視為getter。
AUTO_DETECT_IS_GETTERS 決定是否根據標準Bean命名約定自動檢測"is getter"方法。如果啟用,所有以"is"開頭且返回型別為boolean的公共零引數方法將被視為is getter。
AUTO_DETECT_SETTERS 決定是否根據標準Bean命名約定自動檢測"setter"方法。如果啟用,所有以"set"開頭的公共單引數方法將被視為setter。
CAN_OVERRIDE_ACCESS_MODIFIERS 決定是否可以覆蓋方法和欄位的訪問修飾符設定。如果啟用,可以呼叫setAccessible方法以啟用對不可訪問物件的訪問。
DEFAULT_VIEW_INCLUSION 決定是否在JSON序列化檢視中包含沒有檢視註釋的屬性。如果啟用,未註釋的屬性將包含在所有檢視中。
IGNORE_DUPLICATE_MODULE_REGISTRATIONS 決定是否忽略相同模組的多次註冊。如果啟用,只有第一次註冊呼叫會生效,後續的重複呼叫將被忽略。
IGNORE_MERGE_FOR_UNMERGEABLE 決定在嘗試合併不支援合併的屬性時是否跳過合併並建立新值。如果啟用,不支援合併的屬性將跳過合併。
INFER_CREATOR_FROM_CONSTRUCTOR_PROPERTIES 決定是否將java.beans.ConstructorProperties註釋視為JsonCreator的別名。如果啟用,建構函式將被視為基於屬性的Creator。
INFER_PROPERTY_MUTATORS 決定是否允許成員變更器(欄位和setter)在沒有可見的情況下被推斷為屬性變更器。如果啟用,成員變更器可以被推斷為屬性變更器。
OVERRIDE_PUBLIC_ACCESS_MODIFIERS 決定是否強制呼叫setAccessible方法,即使對於public訪問器也是如此。如果啟用,將強制呼叫setAccessible方法以提高效能。
PROPAGATE_TRANSIENT_MARKER 決定如何處理欄位的transient修飾符。如果啟用,transient修飾符將導致整個屬性被忽略。
REQUIRE_SETTERS_FOR_GETTERS 決定是否只有在有匹配的變更器時才自動檢測getter。如果啟用,只有匹配變更器的getter才會被自動檢測。
SORT_PROPERTIES_ALPHABETICALLY 決定是否按字母順序對POJO欄位進行預設屬性序列化排序。如果啟用,預設排序為字母順序。
USE_ANNOTATIONS 決定是否使用註釋進行配置。如果啟用,將使用配置的AnnotationIntrospector。
USE_BASE_TYPE_AS_DEFAULT_IMPL 決定在沒有顯式預設類的情況下,是否使用多型值的宣告基型別作為預設實現。如果啟用,將使用宣告基型別作為預設實現。
USE_GETTERS_AS_SETTERS 決定是否可以將常規"getter"方法用作集合和對映的變更器。如果啟用,getter方法可以用作集合和對映的變更器。
USE_STATIC_TYPING 決定序列化時是否使用實際的動態執行時型別或宣告的靜態型別。如果啟用,將使用宣告的靜態型別進行序列化。
USE_STD_BEAN_NAMING 決定是否強制使用標準的Bean名稱內省。如果啟用,將使用標準的Bean名稱內省。
USE_WRAPPER_NAME_AS_PROPERTY_NAME 決定是否使用包裝器名稱覆蓋屬性名稱。如果啟用,所有具有非空包裝器名稱的屬性將使用該包裝器名稱。

相關文章