Spring MVC JsonView使用詳解

2021-09-02 20:51:15 字數 2163 閱讀 1156

原文出處:

spring 提供了對jackson 非常好的支援,這裡著重說一下@jsonview的用法

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

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

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

public

class

view

}

view類的定義很簡單。

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

public

class

user

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

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

@restcontroller

public

class

userrestcontroller

}

在controller中指定jsonview即可。 

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

[

, ,

]

用法是不是很簡單?

jsonview 同時還支援繼承

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

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

public

class

view

inte***ce summarywithdetail extends summary{}

}

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

public

class

user

可以看到,我們對emailaddress指定了summarywithdetail標識。

增加controller方法,測試:

@restcontroller

public

class

userrestcontroller

@jsonview(view.summary.class)

public listgetuserswithdetail()

}

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

[

, ,

]

Spring MVC JsonView使用詳解

spring 提供了對jackson 非常好的支援,可以檢視此spring jackson demo 來掌握。這裡著重說一下 jsonview的用法 jsonview可以過濾序列化物件的字段屬性,可以使你有選擇的序列化物件。下面看乙個例子 首先我們定義乙個view類,裡面包含我們對 要序列化的字段 ...

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從小到大排序,...