diff --git a/android/app/src/main/java/fr/iut/sciencequest/model/buisness/QuestionRequestService.kt b/android/app/src/main/java/fr/iut/sciencequest/model/buisness/QuestionRequestService.kt new file mode 100644 index 0000000..02352df --- /dev/null +++ b/android/app/src/main/java/fr/iut/sciencequest/model/buisness/QuestionRequestService.kt @@ -0,0 +1,11 @@ +package fr.iut.sciencequest.model.buisness + +import fr.iut.sciencequest.model.dto.question.QuestionListDTO +import retrofit2.Call +import retrofit2.http.GET +import retrofit2.http.Query + +interface QuestionRequestService { + @GET("questions?page") + fun getQuestion(@Query("page") index: Int): Call +} \ No newline at end of file diff --git a/android/app/src/main/java/fr/iut/sciencequest/model/buisness/QuestionRequestor.kt b/android/app/src/main/java/fr/iut/sciencequest/model/buisness/QuestionRequestor.kt new file mode 100644 index 0000000..d60a3b2 --- /dev/null +++ b/android/app/src/main/java/fr/iut/sciencequest/model/buisness/QuestionRequestor.kt @@ -0,0 +1,45 @@ +package fr.iut.sciencequest.model.buisness + +import android.util.Log +import fr.iut.sciencequest.model.dto.ScientifiqueDTOs.ScientifiqueDTO +import fr.iut.sciencequest.model.dto.question.QuestionListDTO +import retrofit2.Call +import retrofit2.Callback +import retrofit2.Response +import retrofit2.create +import java.lang.IllegalArgumentException + +fun fetchQuestions(index: Int) { + val serviceClient = createRequestService().create() + Log.d("Requete API","Fetch un scientifique") + serviceClient.getQuestion(index).enqueue( + object: Callback { + override fun onResponse( + call: Call, + response: Response + ) { + // NOTE : il faudrait probablement utiliser une autre exception + // exception personnalisée ? + val data = response.body() ?: + throw IllegalArgumentException("ERREUR : l'api a donné une réponse vide") + // 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 (question in data.questions) { + Log.d("Requete Question", "id question: " + question.id.toString()) + Log.d("Requete Question","Libelle: " + question.question) + Log.d("Requete Question","Reponses: ") + for (reponse in question.reponses) { + Log.d("Requete Question","id: " + reponse.id) + Log.d("Requete Question","Libelle: " + reponse.reponse) + } + } + } + + override fun onFailure(call: Call, t: Throwable) { + Log.e("Requete API","Erreur lors d'une requete api") + throw t + } + } + ) +} \ No newline at end of file