2014-06-06 1 views
8

그래서 youtube 비디오의 메타 데이터를 가져오고 싶습니다 (이 말 : https://www.youtube.com/watch?v=qlTA3rnpgzU).지속적인 쿼리 값을 사용하여 개조 REST 끝점 선언하기

벌금과 멋쟁이 전부
public interface YoutubeApi { 
    @GET ("oembed") 
    YoutubeMetaData metaData (@Query (QUERY_VIDEO_URL) final String url, 
           @Query(QUERY_FORMAT) final String alwaysJson); 
} 

,하지만 난 돈 'http://www.youtube.com/oembed?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DqlTA3rnpgzU&format=json

내 인터페이스 정의는 다음과 같이 표시됩니다

나는 그것을 인코딩과 같이 다른 URL에 포장거야 JSON 이외의 다른 형식을 여기에서 지정하려고합니다 (형식 = json은이 URL의 고정 부분입니다).

public interface YoutubeApi { 
    @GET ("oembed") 
    @Magic ("format=json") 
    YoutubeMetaData metaData (@Query (QUERY_VIDEO_URL) final String url); 
} 

감사 :

내 인터페이스 선언이를 지정하고 내 인터페이스를 줄일 수있는 방법이 있습니까.

답변

27

바로 상대 URL에 넣어 :

public interface YoutubeApi { 
    @GET("oembed?format=json") 
    YoutubeMetaData metaData(@Query(QUERY_VIDEO_URL) String url); 
} 
+0

을 개조 한, 우리는 @QueryParam 주석에게 @GET ("엔드 포인트") @QueryParam (이름 = "constantVariable"를 사용할 수 있습니다, 값 = "constantValue") void normalGet (@Named ("page") int 페이지, 콜백 콜백); 참조 : JakeWharton 님의 의견 https://github.com/square/retrofit/issues/103#issuecomment-10738504 –

+0

@ nizam.sp 이것은 여전히 ​​더 간단합니다. – Sumit

+0

사실 지금 은요? –

관련 문제