Spring MVC JsonView使用詳解

2021-08-14 10:30:59 字數 1234 閱讀 9654

spring 提供了對jackson 非常好的支援,可以檢視此spring-jackson-demo**來掌握。這裡著重說一下@jsonview的用法

@jsonview可以過濾序列化物件的字段屬性,可以使你有選擇的序列化物件。下面看乙個例子: 

首先我們定義乙個view類,裡面包含我們對「要序列化的字段」的定義,我們暫時歸為summary(摘要)。屬於summary的字段都是我們要序列化的字段。

這裡也可以將view類理解為一組「標識」,而summary就是其中的乙個「標識」。

public class view }

view類的定義很簡單。

然後我們定義我們的bean類:user

public class user

可以看到,@jsonview使用很簡單,加在屬性上,指定乙個「標識」就好了。上面例子我們將summary指定給了id、firstname、lastname三個屬性,這樣,當我們使用@jsonview序列化user物件的時候,就只會序列化這三個屬性,可以隱藏一些不想序列化的字段屬性。 

springmvc根據@jsonview序列化的方法如下:

@restcontroller

public class userrestcontroller }

在controller中指定jsonview即可。 

當我們訪問/user時,會得到如下結果:[

,, ]

用法是不是很簡單?

jsonview 同時還支援繼承 

比如我們需要將user分兩個規則進行序列化,乙個是「基本資料」,即上面那三個屬性的規則;另乙個是「詳細資料」,除了包含「基本資料」中的三個屬性外,另外還要包含幾個詳細資料email、address。

我們在view中再加乙個「標識」summarywithdetail,定義如下:

public class view

inte***ce summarywithdetail extends summary{}

}這裡使用了繼承,summarywithdetail繼承了summary,也就是說,當我們以summarywithdetail的方式進行物件序列化時,出來的屬性同時也包含summary指定的屬性。我們在user中指定summarywithdetail:

public class user

這樣,當我們訪問/user-with-detail時,會得到如下結果:[,

,]其實要想實現對屬性的排除過濾,jackson還有一種更簡單的方法:@jsonfilter。 

Spring MVC JsonView使用詳解

原文出處 spring 提供了對jackson 非常好的支援,這裡著重說一下 jsonview的用法 jsonview可以過濾序列化物件的字段屬性,可以使你有選擇的序列化物件。下面看乙個例子 首先我們定義乙個view類,裡面包含我們對 要序列化的字段 的定義,我們暫時歸為summary 摘要 屬於s...

vue better scroll外掛程式使用詳解

什麼是 better scroll better scroll 是乙個移動端滾動的解決方案,它是基於 iscroll 的重寫,它和 i 的主要區別在 這裡 better scroll 也很強大,不僅可以做普通的滾動列表,還可以做輪播圖 picker 等等。在需要的檔案中新增 import bscor...

python sort和sorted使用詳解

python sort 使用,尤其是sort和sorted的使用區別 a 5,2,1,9,6 sorted a 將a從小到大排序,不影響a本身結構 1,2,5,6,9 sorted a,reverse true 將a從大到小排序,不影響a本身結構 9,6,5,2,1 a.sort 將a從小到大排序,...