差異處
這裏顯示兩個版本的差異處。
下次修改 | 前次修改 | ||
java:jackson:upgrade:2.4.5to2.7.1 [2016/02/24 23:18] tony 建立 |
java:jackson:upgrade:2.4.5to2.7.1 [2016/02/25 00:33] tony [List of Changes] |
||
---|---|---|---|
行 4: | 行 4: | ||
在我們開發Rest API時,Jackson只不過是2.4.x版本而已;在我深入研究時,已經到2.7.1了,其間也只不過半年。但在深入研究時,卻發現介面與行為上的改變,因此做些記錄下來,讓大家可以參考。 | 在我們開發Rest API時,Jackson只不過是2.4.x版本而已;在我深入研究時,已經到2.7.1了,其間也只不過半年。但在深入研究時,卻發現介面與行為上的改變,因此做些記錄下來,讓大家可以參考。 | ||
===== List of Changes ===== | ===== List of Changes ===== | ||
- | 這篇文章時,主要針對2.4.5到2.7.1: | + | 這篇文章針對2.4.5到2.7.1,內容隨著開發遇到的問題持續增加: |
==== VisibilityChecker ==== | ==== VisibilityChecker ==== | ||
<code java> | <code java> | ||
行 19: | 行 19: | ||
mapper.setVisibility(checker); | mapper.setVisibility(checker); | ||
</code> | </code> | ||
+ | ==== FilterProvider ==== | ||
+ | <code java> | ||
+ | FilterProvider simpleFilter = new SimpleFilterProvider().addFilter( | ||
+ | "simpleFilter", SimpleBeanPropertyFilter.filterOutAllExcept()); | ||
+ | </code> | ||
+ | 在2.4.5版本可以這樣設定到ObjectMapper: | ||
+ | <code java> | ||
+ | mapper.setFilters(simpleFilter); | ||
+ | </code> | ||
+ | 在2.6版本後,setFilters被宣告為@Deprecated;在2.7.1版本可以改用: | ||
+ | <code java> | ||
+ | mapper.setFilterProvider(simpleFilter); | ||
+ | </code> | ||
+ | ==== PropertyWriter & BeanPropertyWriter ==== | ||
+ | 2.7版本後,PropertyWriter支援isRequired(),可以取得JsonProperty所設定的required()內容。 | ||
+ | |||
===== Reference ===== | ===== Reference ===== |