2017-02-20 3 views
-1

Retrofit의 작동 방식을 알고 싶지만 공식 문서는 매우 약합니다.Retrofit 2를 사용하여 문자열을 얻는 방법은 무엇입니까?

매우 간단한 GET 요청을하고 응답을 String으로 받아야합니다.

는 지금은 표준 HTTPUrlConnection 사용하고 그냥 요청, 잘 작동 - 응답

사람이 어떻게 그런 개체 또는 무언가로 변환하지 않고 String 응답을하는 방법을 말해 줄래?

+0

두 번째 버전의 변경 사항에 약간의 연구가 있었지만 충분한 사례가 있음을 발견했습니다. 지금까지 가지고있는 것을 게시 할 때 사람들이보고 문제가있는 곳을 알려줄 것입니다. [최소, 완전하며 검증 가능한 예제를 만드는 방법] –

+0

@Aleksey 호출에 문자열을 전달할 수 있습니다. getString(); –

답변

1

문자열 및 두 프리미티브 모두와 그 박스형을 텍스트/일반 본문에 사용할 수 있습니다. 당신의 build.gradle 파일에이 종속성을 추가 :

public interface ExampleService { 
@GET("https://stackoverflow.com/users/{user}/repos") 
Call<String> listRepos(@Path("user") String user); 
} 

을 그리고 빌더에 ScalarsConverterFactory를 추가 :

compile 'com.squareup.retrofit2:converter-scalars:2.1.0' 

하면이 시도 당신은 다음과 같은 문자열을 검색 할 수 있습니다

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(); 
관련 문제