-1
我想了解Retrofit是如何工作的,但官方文檔非常薄弱。如何使用Retrofit 2獲得響應字符串?
我需要做一個非常簡單的GET
請求,並得到的答覆爲String
。
現在我用標準HTTPUrlConnection
和它工作得很好,只是請求 - 響應
誰能告訴我怎麼去而不將其轉換爲一個對象或類似的東西String
迴應?
我想了解Retrofit是如何工作的,但官方文檔非常薄弱。如何使用Retrofit 2獲得響應字符串?
我需要做一個非常簡單的GET
請求,並得到的答覆爲String
。
現在我用標準HTTPUrlConnection
和它工作得很好,只是請求 - 響應
誰能告訴我怎麼去而不將其轉換爲一個對象或類似的東西String
迴應?
您可以將ScalarsConverterFactory用於字符串,並將基元和它們的裝箱類型都用於文本/普通主體。 這種依賴關係添加到您的build.gradle文件:
compile 'com.squareup.retrofit2:converter-scalars:2.1.0'
試試這個:
public interface ExampleService {
@GET("https://stackoverflow.com/users/{user}/repos")
Call<String> listRepos(@Path("user") String user);
}
並添加ScalarsConverterFactory到您的建設者:
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(ScalarsConverterFactory.create())
.build();
然後,您可以取回這個字符串像這樣:
Call<String> call = exampleService.listRepos(user);
Response<String> response = call.execute();
String value = response.body();
雖然第二個版本的變化確實需要一些研究,但我發現他們的例子已經足夠。你需要發佈迄今爲止的內容,然後人們會看看並告訴你問題出在哪裏。 [如何創建一個最小,完整和可驗證的示例](http://stackoverflow.com/help/mcve) –
@Aleksey您可以簡單地在調用中傳遞字符串 getString(); –