1. 程式人生 > >使用Spring RestTemplate解析RESTful服務

使用Spring RestTemplate解析RESTful服務

               

在上一篇“使用Spring MVC 4構建Restful服務”博文中,我們談到了如何使用Spring MVC 4搭建RESTful服務,本文以上篇文章為基礎,繼續講解如何解析Spring RESTful服務。上篇文章中,我們用了jacson包進行Java物件的序列化,本文仍然使用此包進行Java物件的反序列化。

構建RESTful服務

    1.我們繼續在 FavRestfulController 類中,新增 buildRestUser() 方法,將FavUser物件序列化成JSON物件輸出,程式碼如下:

123456789@RequestMapping(value="buildRestUser"
)public FavUser buildRestUser(){FavUser favUser = new FavUser();favUser.setUserId("mm");favUser.setUserName("美眉");favUser.setUserAge(18);favUser.setCreateDate(new Date());return favUser;}

  2.啟動favspringmvcrestful工程,使用Firefox的RESTClient外掛進行測試,在URL中輸入http://localhost:8080/favspringmvcrestful/buildRestUser,輸出如下圖所示的結果,RESTful服務搭建完成。

wKiom1RrP5bQXK_kAAIBhwZkpb8047.jpg

 解析RESTful服務

    1. 新建“ConsumeRESTful” Java Project,在Build Path中匯入工程所需的Jar。

wKioL1RrQDjwbP5dAAQOgt7G__s789.jpg

  2. 匯入FavUser.Java物件,注意:該物件中的日期型別應該與構建RESTful服務中的FavUser物件的日期型別一致,即對createDate的Getter方法進行格式化,否則在反序列化過程中會報錯。

  3新建 ConsumeSpringRestful.java ,在Main()方法中,測試RESTful服務。

123456789101112131415161718package com.favccxx.favsoft.main;import
 org.springframework.web.client.RestTemplate;import com.favccxx.favsoft.pojo.FavUser;public class ConsumeSpringRestful {public static void main(String[] args) {RestTemplate restTemplate = new RestTemplate();FavUser favUser = restTemplate.getForObject("http://localhost:8080/favspringmvcrestful/buildRestUser", FavUser.class);System.out.println("userId:    " + favUser.getUserId());System.out.println("userName:    " + favUser.getUserName());System.out.println("userAge:    " + favUser.getUserAge());System.out.println("createDate:    " + favUser.getCreateDate());}}

  4. 執行工程,輸入內容如下,正說明解析RESTful服務成功。

wKiom1RrQDKCw7P4AAMYPskEUqo810.jpg

  本例中採用的就是jacson框架解析JSON物件,當然也可以使用GSON,FastJSON,Jersey等框架進行解析,但通常的做法是反序列化JSON的工具類與序列化的工具類相同,防止因型別不匹配等原因而造成的資料對映錯誤。

歡迎大家訪問我的個人網站 萌萌的IT人