2012-10-23 34 views
0

這裏是我的Strifified JSON,調用REST風格的使用Spring-的Android

{ 
     "Request":{ 
       "Object1":{ 
       "Key1":"Value1" 
       }, 
       "Object2":{ 
        "Key2":"Value2" 
       } 
     }, 
     "Object3":{ 
       "Key3":"Value3" 
     } 
} 

我形成該使用GSON。 String Stringifiedjson = new Gson().toJson(user); 這是我正在努力實現。

RestTemplate rest = new RestTemplate(); 
String url = ""; 
String event = rest.getForObject(url, Stringifiedjson); 
  1. 我怎麼會發到我的REST服務,並取回我的結果onEventHandleronErrorHandler。我基本上從JavaScript的背景。
  2. 爲什麼getForObject方法不接受String, String作爲params。

更新:

AuthenticateUser user = new AuthenticateUser(credential, Header);  
HttpHeaders requestHeaders = new HttpHeaders(); 
requestHeaders.setContentType(new MediaType("application","json"));   
//HttpEntity<AuthenticateUser> requestEntity = new HttpEntity<AuthenticateUser>(user, requestHeaders); 


RestTemplate restTemplate = new RestTemplate(); 
restTemplate.getMessageConverters().add(new MappingJacksonHttpMessageConverter()); 
restTemplate.getMessageConverters().add(new StringHttpMessageConverter()); 
String url = "url";    
String result = restTemplate.postForObject(url, AuthenticateUser.class, String.class); 

附件是我得到了什麼異常的pastie。

http://pastie.org/private/efyfvvbxyxdsvm3lvv7q

回答

0

關於第二個問題:我剛剛發現這個例子(你可以看看整個文檔;))

2.7.1 Basic Usage Example The following example shows a query to google for the search term "SpringSource".

String url = "https://ajax.googleapis.com/ajax/services/search/web?v=1.0&q={query}"; 

// Create a new RestTemplate instance 
RestTemplate restTemplate = new RestTemplate(); 

// Add the String message converter 
restTemplate.getMessageConverters().add(new StringHttpMessageConverter()); 

// Make the HTTP GET request, marshaling the response to a String 
String result = restTemplate.getForObject(url, String.class, "SpringSource"); 
getForObject 

public <T> T getForObject(URI url, 
        Class<T> responseType) 
      throws RestClientException 
Description copied from interface: RestOperations 
Retrieve a representation by doing a GET on the URL . The response (if any) is converted and returned. 
Specified by: 
getForObject in interface RestOperations 
Parameters: 
url - the URL 
responseType - the type of the return value 
Returns: 
the converted object 
Throws: 
RestClientException 

您的堆棧跟蹤中的異常可能是相關的到這個post的同一個問題。當您的應用程序嘗試在主線程中建立連接時,就會出現問題。

+0

我在哪裏通過我的JsonObject這裏....讓我拿我postForObject ...但我看不到在這裏傳遞JsonObject – theJava

+0

我猜你正在使用org.springframework.web.client,是對嗎?你可以添加一些關於你的問題的信息嗎?編輯答案添加部分參考文件 – sataniccrow

+0

我已經更新了我的文章,我正在使用Spring-Android。這是我在這裏做的錯誤... – theJava

相關問題