Quindi voglio ottenere i metadati di un video di youtube (dica questo: https://www.youtube.com/watch?v=qlTA3rnpgzU
).Dichiarazione di un endpoint REST di retrofit con valore di query costante
ho intenzione di codificarlo e avvolgerlo in un altro URL in questo modo: http://www.youtube.com/oembed?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DqlTA3rnpgzU&format=json
La mia definizione di interfaccia sarà simile a questa:
public interface YoutubeApi {
@GET ("oembed")
YoutubeMetaData metaData (@Query (QUERY_VIDEO_URL) final String url,
@Query(QUERY_FORMAT) final String alwaysJson);
}
Questo è tutto bene e dandy, ma I don' t mai voglia di specificare un formato diverso da JSON qui (formato = json è una parte fissa di questo URL).
C'è un modo per specificare questo nella mia dichiarazione di interfaccia e ridurre la mia interfaccia per:
public interface YoutubeApi {
@GET ("oembed")
@Magic ("format=json")
YoutubeMetaData metaData (@Query (QUERY_VIDEO_URL) final String url);
}
Grazie.
In Retrofit 1, possiamo usare @QueryParam annotazione @GET ("endpoint") @QueryParam (name = "constantVariable", value = "constantValue") void normalGet (@Named ("page") int page, callback callback); Riferimento: commento di JakeWharton https://github.com/square/retrofit/issues/103#issuecomment-10738504 –
@ nizam.sp Questo è ancora più semplice. – Sumit
In realtà adesso? –