差異處
這裏顯示兩個版本的差異處。
java:jackson:upgrade:2.4.5to2.7.1 [2016/02/24 23:39] tony |
java:jackson:upgrade:2.4.5to2.7.1 [2023/06/25 09:48] |
||
---|---|---|---|
行 1: | 行 1: | ||
- | {{tag>java jackson}} | ||
- | ====== From 2.4.5 to 2.7.1 ====== | ||
- | ===== Introduction ===== | ||
- | 在我們開發Rest API時,Jackson只不過是2.4.x版本而已;在我深入研究時,已經到2.7.1了,其間也只不過半年。但在深入研究時,卻發現介面與行為上的改變,因此做些記錄下來,讓大家可以參考。 | ||
- | ===== List of Changes ===== | ||
- | 這篇文章時,主要針對2.4.5到2.7.1: | ||
- | ==== VisibilityChecker ==== | ||
- | <code java> | ||
- | VisibilityChecker<?> checker = mapper.getVisibilityChecker(). | ||
- | withGetterVisibility(Visibility.NONE). | ||
- | withIsGetterVisibility(Visibility.NONE); | ||
- | </code> | ||
- | 在2.4.5版本可以這樣設定到ObjectMapper: | ||
- | <code java> | ||
- | mapper.setVisibilityChecker(checker); | ||
- | </code> | ||
- | 在2.6版本後,setVisibilityChecker被宣告為@Deprecated;在2.7.1版本可以改用: | ||
- | <code java> | ||
- | mapper.setVisibility(checker); | ||
- | </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 ===== | ||
- | * [[https://github.com/FasterXML/jackson/wiki/Jackson-Releases|Jackson Release]] | ||
- | ===== ===== | ||
- | ---- | ||
- | \\ | ||
- | ~~DISQUS~~ |