使用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服務搭建完成。
解析RESTful服務
1. 新建“ConsumeRESTful” Java Project,在Build Path中匯入工程所需的Jar。
2. 匯入FavUser.Java物件,注意:該物件中的日期型別應該與構建RESTful服務中的FavUser物件的日期型別一致,即對createDate的Getter方法進行格式化,否則在反序列化過程中會報錯。
3. 新建 ConsumeSpringRestful.java ,在Main()方法中,測試RESTful服務。
123456789101112131415161718 | package 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服務成功。
本例中採用的就是jacson框架解析JSON物件,當然也可以使用GSON,FastJSON,Jersey等框架進行解析,但通常的做法是反序列化JSON的工具類與序列化的工具類相同,防止因型別不匹配等原因而造成的資料對映錯誤。
歡迎大家訪問我的個人網站 萌萌的IT人