2017-02-20 48 views
-1

我想了解Retrofit是如何工作的,但官方文檔非常薄弱。如何使用Retrofit 2獲得響應字符串?

我需要做一個非常簡單的GET請求,並得到的答覆爲String

現在我用標準HTTPUrlConnection和它工作得很好,只是請求 - 響應

誰能告訴我怎麼去而不將其轉換爲一個對象或類似的東西String迴應?

+0

雖然第二個版本的變化確實需要一些研究,但我發現他們的例子已經足夠。你需要發佈迄今爲止的內容,然後人們會看看並告訴你問題出在哪裏。 [如何創建一個最小,完整和可驗證的示例](http://stackoverflow.com/help/mcve) –

+0

@Aleksey您可以簡單地在調用中傳遞字符串 getString(); –

回答

1

您可以將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(); 
相關問題