我有一個主要問題,並希望有人可以提供幫助。Parse.com REST API不會返回任何東西
我們有使用Parse作爲後端的web和Android應用程序。我們遇到的問題都發生在兩者上。我會解釋Android的問題。
我們使用REST API將數據保存到Parse.com。我們不使用SDK的原因是我們想要利用僅在RESTAPI中可用的批處理操作。
{
"requests": [
{
"body": {
"isFriable": false,
"haDetail": "",
"sizeOther": "",
"colourOther": "",
"texture": "",
"fieldInspection": {
"__type": "Pointer",
"className": "FieldInspection",
"objectId": "YS5bXHBwDu"
},
"surfaceSubType": {
"__type": "Pointer",
"className": "SurfaceSubType",
"objectId": "d4IL5k1pv5"
},
"size": {
"__type": "Pointer",
"className": "HomogenousMaterialSize",
"objectId": "ezr3uHDUvt"
},
"colour": {
"__type": "Pointer",
"className": "HomogenousMaterialColour",
"objectId": "NqYXJcOkPE"
}
},
"method": "POST",
"path": "/1/classes/HomogenousArea"
}
]
}
以上是我的要求。這被推到https://api.parse.com/1/batch使用一個基本的默認HttpClient。
當我們執行HTTP請求時,它有時會掛起,它不會返回任何結果。大約每5或6個請求中就有一個這樣做。在成功的後續請求上完全相同的數據將會通過罰款。問題是,那時我們有重複的記錄保存到Parse,因爲我們的同步邏輯從未完成,因爲我們沒有得到響應。
Parse中有什麼我們可以用來調試這樣的請求嗎?以下是我們正在使用的當前http客戶端實現。注意:也放在從Square的OkHttp並擊中完全相同的問題。在./batch的
// Instantiate the http client to make the batch request
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost post = setupHttpPost(url);
// Assign the data to the post
StringEntity entity = new StringEntity(insertData);
post.setEntity(entity);
// Setup the response handler
ResponseHandler response = new BasicResponseHandler();
// Make the call to Post the new data
Object rersponse = httpClient.execute(post, response);
if (rersponse != null) {
return rersponse.toString();
}
return null;
感謝您的回覆羅伯特。 outter調用方法包裝在AsyncTask中,因此網絡操作不會阻塞UI線程。我也減少了請求中的數據量,但仍然相同。我的下一個端口是發送直接,但我懷疑我不會看到任何錯誤,因爲它的工作很直接 – 2014-10-08 15:10:49
我會鑽AsnycTask,這就是你的問題所在。 – 2014-10-08 15:50:48
我已經遵循該路徑。會讓你知道結果。再次感謝您的快速回復 – 2014-10-08 16:11:00