spring-JsonView-過濾你返回的數(shù)據(jù)

去除你臃腫的前端數(shù)據(jù),不僅可以便于前端解析唉铜,并且可以減少Android 和IOS 端的閃退次數(shù)窩台舱,并且前端更快的對接你的接口窩,這時候JsonView 的作用就來了潭流。

其實spring 對于這個需求竞惋。還是有幾種方案的。

  1. jsonIgnore 這種不便于拓展灰嫉,也就是無法滿足一些定制的json 返回字段拆宛。
  2. jsonView 可以多繼承,因此可以定制你的bean讼撒,不過寫的代碼就需要多點了浑厚。
    下面我直接給出我參考的地址。并且寫下我的使用的心得根盒。
  3. 最實用的link

下面給出我實現(xiàn)的代碼钳幅。直接貼代碼了寫出關鍵點。包括3步炎滞。

  1. 創(chuàng)建viewManager 去管理你的JsonView敢艰。
  2. 在你的實體里面你需要輸出到前端的 加上JsonView 。(jsonView 可以多繼承的册赛,首頁你可以根據(jù)不同的接口返回不同的數(shù)據(jù)钠导。)
  3. 在你的controller 上打上JsonView 和 RestController 注解即可。
//下面定義一個管理jsonView 的ViewManager 去管理JsonView 森瘪。
public class ViewManager{

  public interface   Entity{}辈双;

  public interface   EntityWithOther{};

}
//如果我們需要在前端輸出 name age 在另外一個接口輸出 otherEntity 
public class Entity{

  private int id;

  @JsonView(Entity.class)
  private String name;

  @JsonView(Entity.class)
  private int age;

  @JsonView(EntityWithOther.class)
  private OtherEntity otherEntity;

//ignore  getter setter method 
}
@RestController
public class IndexController{
    @JsonView(Entity.class)
    @RequestMapping(value = "/getArea" ,method = RequestMethod.GET)
    public Object getAreaByCity(@RequestParam Integer cityId){ 
       return areaService.findAreaByCityId(cityId);
    }

  @JsonView(EntityWithOther.class)
    @RequestMapping(value = "/getOther" ,method = RequestMethod.GET)
    public Object getOther(@RequestParam Integer cityId){ 
       return areaService.getOther(cityId);
    }
}

curl your url ,you can see the result what you want ....

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市柜砾,隨后出現(xiàn)的幾起案子湃望,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件证芭,死亡現(xiàn)場離奇詭異瞳浦,居然都是意外死亡,警方通過查閱死者的電腦和手機废士,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門叫潦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人官硝,你說我怎么就攤上這事矗蕊。” “怎么了氢架?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵傻咖,是天一觀的道長。 經(jīng)常有香客問我岖研,道長卿操,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任孙援,我火速辦了婚禮害淤,結果婚禮上,老公的妹妹穿的比我還像新娘拓售。我一直安慰自己窥摄,他們只是感情好,可當我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布础淤。 她就那樣靜靜地躺著溪王,像睡著了一般。 火紅的嫁衣襯著肌膚如雪值骇。 梳的紋絲不亂的頭發(fā)上莹菱,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天,我揣著相機與錄音吱瘩,去河邊找鬼道伟。 笑死,一個胖子當著我的面吹牛使碾,可吹牛的內容都是我干的蜜徽。 我是一名探鬼主播,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼票摇,長吁一口氣:“原來是場噩夢啊……” “哼拘鞋!你這毒婦竟也來了?” 一聲冷哼從身側響起矢门,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤盆色,失蹤者是張志新(化名)和其女友劉穎灰蛙,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體隔躲,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡摩梧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了宣旱。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片仅父。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖浑吟,靈堂內的尸體忽然破棺而出笙纤,到底是詐尸還是另有隱情,我是刑警寧澤组力,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布省容,位于F島的核電站,受9級特大地震影響忿项,放射性物質發(fā)生泄漏蓉冈。R本人自食惡果不足惜城舞,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一轩触、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧家夺,春花似錦脱柱、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至煌茴,卻和暖如春随闺,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蔓腐。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工矩乐, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人回论。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓散罕,卻偏偏與公主長得像,于是被迫代替她去往敵國和親傀蓉。 傳聞我的和親對象是個殘疾皇子欧漱,可洞房花燭夜當晚...
    茶點故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,110評論 25 707
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法葬燎,內部類的語法误甚,繼承相關的語法缚甩,異常的語法,線程的語...
    子非魚_t_閱讀 31,630評論 18 399
  • 從高中一路走來靶草,就算不常聯(lián)系蹄胰,但卻不曾失去彼此的消息。那些一起陪伴著的過去奕翔,各自努力奮斗著的現(xiàn)在裕寨,還有期待著的...
    安晁陽HMF閱讀 103評論 0 0
  • 說到咖啡,很多人都可能覺得這個話題有點那么高大上派继,有點小資宾袜。說實話剛開始的時候我也是這么覺著的,但是隨著我接觸咖啡...
    Mi絲喵閱讀 763評論 3 2
  • 兩組箭步蹲進行下半身熱身驾窟,左右腳交替進行庆猫,12個為一組。 保持大腿與地面垂直绅络,如果膝蓋超過腳尖則下蹲過大月培,掌握好步...
    村頭春樹derAugenst閱讀 152評論 0 0