From feeae3874d953d9f526b815b83744a9027dad264 Mon Sep 17 00:00:00 2001 From: Renaud BEURET Date: Fri, 22 Mar 2024 08:53:17 +0100 Subject: [PATCH] [FIX] Requete page de scientifique + changement DTO --- .../buisness/ScientifiqueRequestService.kt | 8 ++++--- .../model/buisness/ScientifiquesRequestor.kt | 23 ++++++++----------- .../{ => ScientifiqueDTOs}/ScientifiqueDTO.kt | 0 3 files changed, 14 insertions(+), 17 deletions(-) rename android/app/src/main/java/fr/iut/sciencequest/model/dto/{ => ScientifiqueDTOs}/ScientifiqueDTO.kt (100%) diff --git a/android/app/src/main/java/fr/iut/sciencequest/model/buisness/ScientifiqueRequestService.kt b/android/app/src/main/java/fr/iut/sciencequest/model/buisness/ScientifiqueRequestService.kt index 8001695..7b5e9f0 100644 --- a/android/app/src/main/java/fr/iut/sciencequest/model/buisness/ScientifiqueRequestService.kt +++ b/android/app/src/main/java/fr/iut/sciencequest/model/buisness/ScientifiqueRequestService.kt @@ -1,7 +1,8 @@ package fr.iut.sciencequest.model.buisness import com.jakewharton.retrofit2.converter.kotlinx.serialization.asConverterFactory -import fr.iut.sciencequest.model.dto.ScientifiqueDTO +import fr.iut.sciencequest.model.dto.ScientifiqueDTOs.ScientifiqueDTO +import fr.iut.sciencequest.model.dto.ScientifiqueDTOs.ScientifiqueListDTO import kotlinx.serialization.json.Json import okhttp3.MediaType import okhttp3.OkHttpClient @@ -9,6 +10,7 @@ import retrofit2.Call import retrofit2.Retrofit import retrofit2.http.GET import retrofit2.http.Path +import retrofit2.http.Query // a remplir private const val API_BASE_URL = "https://sae-java.alix-jdlm.fr/api/v1/" @@ -16,8 +18,8 @@ private const val API_BASE_URL = "https://sae-java.alix-jdlm.fr/api/v1/" val httpClient = OkHttpClient() interface ScientifiqueRequestService { - @GET("scientifiques/{index}/{count}") - fun getScientifiques(@Path("index") index: Int, @Path("count") count: Int): Call> + @GET("scientifiques?page") + fun getScientifiques(@Query("page") index: Int): Call @GET("scientifiques/{id}") fun getScientifique(@Path("id") id: Int): Call diff --git a/android/app/src/main/java/fr/iut/sciencequest/model/buisness/ScientifiquesRequestor.kt b/android/app/src/main/java/fr/iut/sciencequest/model/buisness/ScientifiquesRequestor.kt index e63c506..74a0b31 100644 --- a/android/app/src/main/java/fr/iut/sciencequest/model/buisness/ScientifiquesRequestor.kt +++ b/android/app/src/main/java/fr/iut/sciencequest/model/buisness/ScientifiquesRequestor.kt @@ -1,13 +1,8 @@ package fr.iut.sciencequest.model.buisness import android.util.Log -import androidx.lifecycle.ViewModel -import androidx.lifecycle.ViewModelLazy -import androidx.lifecycle.ViewModelProvider -import androidx.lifecycle.findViewTreeViewModelStoreOwner -import androidx.lifecycle.viewmodel.compose.viewModel -import fr.iut.sciencequest.ViewModels.ScientifiquesDecouvertsVM -import fr.iut.sciencequest.model.dto.ScientifiqueDTO +import fr.iut.sciencequest.model.dto.ScientifiqueDTOs.ScientifiqueDTO +import fr.iut.sciencequest.model.dto.ScientifiqueDTOs.ScientifiqueListDTO import retrofit2.Call import retrofit2.Callback import retrofit2.Response @@ -42,14 +37,14 @@ fun fetchScientifiqueById(id: Int) { ) } -fun fetchScientifiquesById(index: Int, count: Int) { +fun fetchScientifiques(index: Int) { val serviceClient = createRequestService().create() Log.d("Requete API","Fetch plusieurs scientifiques") - serviceClient.getScientifiques(index, count).enqueue( - object: Callback> { + serviceClient.getScientifiques(index).enqueue( + object: Callback { override fun onResponse( - call: Call>, - response: Response> + call: Call, + response: Response ) { // NOTE : il faudrait probablement utiliser une autre exception // exception personnalisée ? @@ -58,14 +53,14 @@ fun fetchScientifiquesById(index: Int, count: Int) { // Devrait appeler le ModelView, la méthode onResponse ne renvoit rien // Pour le moment des print pour vérifier que la requêtre fonctionne // sans avoir besoin des vues. - for (scientifique in data) { + for (scientifique in data.scientifiques) { Log.d("Requete API",scientifique.id.toString()) Log.d("Requete API", scientifique.nom) } } - override fun onFailure(call: Call>, t: Throwable) { + override fun onFailure(call: Call, t: Throwable) { Log.e("Requete API","Erreur lors d'une requete api") throw t } diff --git a/android/app/src/main/java/fr/iut/sciencequest/model/dto/ScientifiqueDTO.kt b/android/app/src/main/java/fr/iut/sciencequest/model/dto/ScientifiqueDTOs/ScientifiqueDTO.kt similarity index 100% rename from android/app/src/main/java/fr/iut/sciencequest/model/dto/ScientifiqueDTO.kt rename to android/app/src/main/java/fr/iut/sciencequest/model/dto/ScientifiqueDTOs/ScientifiqueDTO.kt