原文出處:
spring 提供了對jackson 非常好的支援,這裡著重說一下@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
可以看到,我們對email
和address
指定了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從小到大排序,...