我試圖從我的服務器上使用OkHttp從android應用程序調用put方法。Okhttp Put方法返回'方法不允許'
這是API方法簽名:
public void Put(int userId, string regId) { }
這是Android的代碼來調用上面的方法...
private boolean SendGCMRegIdToServer(String registrationId, Integer userId) throws IOException {
HttpUrl url = new HttpUrl.Builder()
.scheme("http")
.host(serverApiHost)
.addPathSegment("AppDashboard")
.addPathSegment("api")
.addPathSegment("GCM/")
.build();
MediaType JSON
= MediaType.parse("application/json; charset=utf-8");
String json = "{'userId':" + userId + ","
+ "'regId':'" + registrationId + "'"
+ "}";
RequestBody requestBody = RequestBody.create(JSON, json);
Request request = new Request.Builder()
.url(url)
.put(requestBody)
.build();
//this should post the data to my server
Response response = client.newCall(request).execute();
if(response.code() == 400)
return false;
return true;
}
現在的問題是我得到錯誤代碼405在答覆說法不允許,但我不明白問題在哪裏,因爲我可以用postma成功調用方法n個服務器本身如下的:
http://localhost/AppDashboard/api/GCM?userId=5®Id=123
我想它可能有一些做的整數或字符串正在JSON字符串錯誤地傳遞了,但不能爲生命明白爲什麼這不工作...
任何幫助是非常感謝感謝...
你確定你還使用PUT在郵遞員? – njzk2