Also möchte ich die Metadaten eines Youtube-Videos abrufen (sagen wir einmal: https://www.youtube.com/watch?v=qlTA3rnpgzU
).Deklarieren eines Retrofit-REST-Endpunkts mit konstantem Abfragewert
Ich werde es kodieren und es in einer anderen URL wickelt etwa so: http://www.youtube.com/oembed?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DqlTA3rnpgzU&format=json
Meine Interface-Definition wie folgt aussehen:
public interface YoutubeApi {
@GET ("oembed")
YoutubeMetaData metaData (@Query (QUERY_VIDEO_URL) final String url,
@Query(QUERY_FORMAT) final String alwaysJson);
}
Das ist alles schön und gut, aber ich don‘ Ich möchte hier immer ein anderes Format als JSON angeben (format = json ist ein fester Teil dieser URL).
Gibt es eine Möglichkeit, dies in meiner Interface-Deklaration angeben und reduzieren meine Schnittstelle zu:
public interface YoutubeApi {
@GET ("oembed")
@Magic ("format=json")
YoutubeMetaData metaData (@Query (QUERY_VIDEO_URL) final String url);
}
Dank.
In Retrofit 1 können wir @QueryParam Anmerkung @ abrufen ("Endpunkt") @QueryParam (name = "constantVariable", Wert = "constantValue") void normalGet (@Named ("page") int Seite, Callback Rückruf); Referenz: JakeWhartons Kommentar https://github.com/square/retrofit/issues/103#issuecomment-10738504 –
@ nizam.sp Dies ist noch einfacher. – Sumit
Es ist jetzt tatsächlich? –