我正在使用Android的loopj的AsyncHttpClient,以便我可以與我創建的寧靜的Web應用程序進行交互。我使用Postman測試了一個POST請求,它工作正常。爲Rest客戶端設置Json內容類型
然而,在Android中,我努力做一個POST請求但作爲內容型總是被設置爲text/html ..
RequestParams params = new RequestParams();
params.setUseJsonStreamer(true);
params.put("email", "[email protected]");
StringEntity se = null;
try {
se = new StringEntity(params.toString());
se.setContentType("application/json");
} catch (UnsupportedEncodingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
Header headers[] = {};
if(getActivity() != null){
RestClient.postWithContentType(getActivity(), "contacts", se, "application/json", new AsyncHttpResponseHandler() {
//onSuccess and onFailure methods ommitted
});
它不斷失敗,而我得到的logcat此消息: 傳遞的contentType將被忽略,因爲HttpEntity設置內容類型。
所以,我試圖改變這一狀況,
public static void postWithContentType(Context context,String url,StringEntity s,String contentType, AsyncHttpResponseHandler responseHandler){
s.setContentType("application/json");
client.post(context, getAbsoluteUrl(url), s, contentType, responseHandler);
}
但我仍然得到同樣的消息,這真是令人沮喪,我一直在試圖弄明白了好半天! 如果任何人有任何關於如何設置內容類型的想法 - 將不勝感激,謝謝!
RestClient究竟是什麼?你還沒有說過這些。也許它的實施會弄亂某些東西? – 0101100101 2014-09-26 14:49:32
你解決了這個問題嗎? – playmaker420 2014-11-10 11:36:34