我使用改裝2我的Android代碼,使在android系統POST請求。我已經開始使用相同的服務器調用,現在我卡在改進中使用的POSt請求上。如何利用改造2
我要的是做一個POST請求,我要發送的數據是一樣的東西[「1」,「2」,「3」,「4」]
我幾乎嘗試了所有的方式但沒有運氣。
我使用改裝2我的Android代碼,使在android系統POST請求。我已經開始使用相同的服務器調用,現在我卡在改進中使用的POSt請求上。如何利用改造2
我要的是做一個POST請求,我要發送的數據是一樣的東西[「1」,「2」,「3」,「4」]
我幾乎嘗試了所有的方式但沒有運氣。
有相當多的教程在那裏,但我敲了一個非常簡單的例子給你,原諒稍微衝碼等,希望你的想法。
您的REST接口:
public interface MyRetrofit {
@POST("/users")
Call<MyResponse> postUser(@Body MyRequest body);}
你改造創造
OkHttpClient.Builder okHttpClientBuilder = new OkHttpClient.Builder();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://little-silence-8649.getsandbox.com")
.client(okHttpClientBuilder.build())
.addConverterFactory(GsonConverterFactory.create())
.build();
apiInterface = retrofit.create(MyRetrofit.class);
呼叫
MyRequest req = new MyRequest();
req.setName("Kermit");
Call<MyResponse> task = apiInterface.postUser(req);
task.enqueue(new Callback<MyResponse>() {
@Override
public void onResponse(Call<MyResponse> call, Response<MyResponse> response) {
Log.d(TAG, "Success");
}
@Override
public void onFailure(Call<MyResponse> call, Throwable throwable) {
Log.e(TAG, "onFailure: ", throwable);
}
});
這應該都是非常自我解釋。您可以創建您的界面,在第一步中定義您的所有REST調用。然後在第二步中,您創建一個在ok http客戶端和gson轉換器中傳遞的實例。 gson轉換器將您的請求轉換爲json。
然後最後通話。我創建了一個請求,這只是一個pojo,並通過改進api傳遞給它。我們使用入隊,因爲我們在主線程上,並且我們想要改進以在新線程上處理聯網。完成改造後,我們會回傳onResponse或onFailure。
希望它有幫助。
P.S此示例使用Sandbox其是用於REST接口驚人的測試工具。
感謝您的快速回復。但我已經通過創建POJO嘗試了這種類型,但這不起作用。 – user2382771
*我幾乎嘗試了所有的辦法* ...它是很難相信的......如果你爲什麼不跟我們出了什麼你試過到目前爲止分享會是真的嗎? – Selvin
好,所以你希望我在這裏發佈所有的代碼,到目前爲止我已經嘗試過。因此,對於您的信息,我曾嘗試直接與@Body註釋接口通過列表。還通過在接口的方法中傳遞RequestBody。 –
user2382771