0
我目前正在構建一個與Consuming a RESTful Web Service指南中幾乎完全相同的代碼的REST客戶端。這個簡單的例子在接收到有效的JSON響應時工作得很好,但是由於我也在開發Web服務,我希望能夠在響應不是有效的JSON(不必發送請求兩次)的情況下捕獲原始響應內容。Spring捕獲所有響應類型
所以基本上指南歸結爲以下代碼:
RestTemplate restTemplate = new RestTemplate();
Page page = restTemplate.getForObject("http://graph.facebook.com/gopivotal", Page.class);
System.out.println("Name: " + page.getName());
System.out.println("About: " + page.getAbout());
System.out.println("Phone: " + page.getPhone());
System.out.println("Website: " + page.getWebsite());
,並在此基礎上類:
package hello;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@JsonIgnoreProperties(ignoreUnknown = true)
public class Page {
private String name;
private String about;
private String phone;
private String website;
public String getName() {
return name;
}
public String getAbout() {
return about;
}
public String getPhone() {
return phone;
}
public String getWebsite() {
return website;
}
}
現在想象一下,響應不是有效的JSON(由於一個錯誤web服務等等),甚至響應類型不是application/json
,我怎樣才能以純文本格式記錄響應主體?即我怎麼能訪問響應正文以純文本時,此行失敗:
Page page = restTemplate.getForObject("http://graph.facebook.com/gopivotal", Page.class);
PS:我碰到this question來 - 這從來沒有得到回答 - 雖然我不知道,我覺得代碼的真實意圖也與我的問題一致。
謝謝,這是我一直在尋找! – DePhille