Jetpack Compose Academy · Lektion

Definér et Retrofit-API-interface

Deklarér endpoints med annotations.

Lektion 1 af 413 trin

Definér et Retrofit-API-interface er en gratis Jetpack Compose Academy-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Jetpack Compose Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Jetpack Compose Academy-kurset indeholder 4 lektioner i alt.

Hvad Retrofit gør

Retrofit omdanner en almindelig Kotlin-grænseflade til en fungerende HTTP-klient, så du beskriver din API, og den skriver netværkskoden for dig.

Det begynder med en grænseflade

Du erklærer hvert slutpunkt som en funktion i en Kotlin-interface. Retrofit læser annotationerne og opbygger den rigtige implementering ved kørsel.

interface UserApi {
    // endpoint functions go here
}

Markér en GET-anmodning

Annotationen @GET fortæller Retrofit, at denne funktion henter data. Du angiver den sti, der kommer efter din basis-URL. 🌐

@GET("users")
fun getUsers(): Call<List<User>>

Også POST, PUT og DELETE

Ud over GET tilbyder Retrofit @POST, @PUT og @DELETE, så én grænseflade kan læse og skrive data på din server.

@POST("users")
fun createUser(@Body user: User): Call<User>

Stiparametre

Brug @Path til at indsætte en værdi i URL'en. Retrofit erstatter den navngivne pladsholder i tuborgklammer med det argument, du sender ind.

@GET("users/{id}")
fun getUser(@Path("id") id: Int): Call<User>

Forespørgselsparametre

Tilføj @Query for værdier efter spørgsmålstegnet, f.eks. søgeord eller sidetal. Retrofit føjer dem automatisk til URL'en.

@GET("search")
fun search(@Query("q") term: String): Call<Result>

Returtypen

Funktionens returtype fortæller Retrofit, hvilken form svaret forventes at have. En data class her afspejler JSON-svaret direkte.

@GET("users/{id}")
fun getUser(@Path("id") id: Int): Call<User>

Angiv basis-URL'en

Du opretter én Retrofit-instans med basis-URL'en. Alle erklærede slutpunktstier føjes automatisk til den.

val retrofit = Retrofit.Builder()
    .baseUrl("https://api.example.com/")
    .build()

Opret implementeringen

Kald create med din interface-klasse, så returnerer Retrofit et objekt, der er klar til brug. Du skriver aldrig selv anmodningskoden.

val api = retrofit.create(UserApi::class.java)

Tilføj en konverterfabrik

En converter factory lærer Retrofit at omdanne JSON til dine dataklasser. Du tilføjer den én gang, når du opbygger instansen.

.addConverterFactory(MoshiConverterFactory.create())

Glem ikke tilladelsen

For at få adgang til netværket skal du erklære tilladelsen INTERNET i dit manifest. Uden den mislykkes alle anmodninger, før de overhovedet begynder.

<uses-permission android:name="android.permission.INTERNET" />

Hurtigt tjek

Hvilken annotation indsætter en værdi direkte i URL-stien?

Opsummering: Din API-grænseflade

Du beskrev slutpunkter som annoterede interface-funktioner, angav en basis-URL, tilføjede en konverter og lod Retrofit opbygge klienten. Nu skal du fortolke den JSON, den returnerer.

Gratis at komme i gang

Lær Kotlin med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
30
Lektioner
120

Ofte stillede spørgsmål

Er lektionen “Definér et Retrofit-API-interface” gratis?

Ja — hele teksten til “Definér et Retrofit-API-interface” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Jetpack Compose Academy-kurset, skal du opgradere til CoddyKit PRO. Jetpack Compose Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Definér et Retrofit-API-interface”?

Deklarér endpoints med annotations. Du øver dig i Jetpack Compose Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Jetpack Compose Academy?

Der kræves ingen tidligere erfaring. Jetpack Compose Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.

Hvor lang tid tager lektionen “Definér et Retrofit-API-interface”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Jetpack Compose Academy-lektion?

Ja. Alle Jetpack Compose Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Definér et Retrofit-API-interface
  2. Parsing af JSON med Moshi
  3. suspend-kald i ViewModel
  4. UI for indlæsning, succes og fejl
← Tilbage til Jetpack Compose Academy