forked from tom.biard/ScienceQuest
commit
ca2ae68925
@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module version="4">
|
||||
<component name="ModuleClassLoaderOverlays">
|
||||
<paths>
|
||||
<option value="/tmp/overlay10633925828874165666" />
|
||||
<option value="/tmp/overlay8943318448700809082" />
|
||||
<option value="/tmp/overlay8977085641070230858" />
|
||||
</paths>
|
||||
</component>
|
||||
</module>
|
@ -0,0 +1,67 @@
|
||||
package fr.iut.sciencequest.model.buisness
|
||||
|
||||
import android.util.Log
|
||||
import fr.iut.sciencequest.model.dto.ScientifiqueDTO
|
||||
import retrofit2.Call
|
||||
import retrofit2.Callback
|
||||
import retrofit2.Response
|
||||
import retrofit2.create
|
||||
import java.lang.IllegalArgumentException
|
||||
|
||||
fun fetchScientifiqueById(id: Int) {
|
||||
val serviceClient = createRequestService().create<ScientifiqueRequestService>()
|
||||
Log.d("Requete API","Fetch un scientifique")
|
||||
serviceClient.getScientifique(id).enqueue(
|
||||
object: Callback<ScientifiqueDTO> {
|
||||
override fun onResponse(
|
||||
call: Call<ScientifiqueDTO>,
|
||||
response: Response<ScientifiqueDTO>
|
||||
) {
|
||||
// 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.
|
||||
Log.d("Requete API",data.id.toString())
|
||||
Log.d("Requete API", data.nom)
|
||||
}
|
||||
|
||||
override fun onFailure(call: Call<ScientifiqueDTO>, t: Throwable) {
|
||||
Log.e("Requete API","Erreur lors d'une requete api")
|
||||
throw t
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
fun fetchScientifiquesById(index: Int, count: Int) {
|
||||
val serviceClient = createRequestService().create<ScientifiqueRequestService>()
|
||||
Log.d("Requete API","Fetch plusieurs scientifiques")
|
||||
serviceClient.getScientifiques(index, count).enqueue(
|
||||
object: Callback<List<ScientifiqueDTO>> {
|
||||
override fun onResponse(
|
||||
call: Call<List<ScientifiqueDTO>>,
|
||||
response: Response<List<ScientifiqueDTO>>
|
||||
) {
|
||||
// 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 (scientifique in data) {
|
||||
Log.d("Requete API",scientifique.id.toString())
|
||||
Log.d("Requete API", scientifique.nom)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onFailure(call: Call<List<ScientifiqueDTO>>, t: Throwable) {
|
||||
Log.e("Requete API","Erreur lors d'une requete api")
|
||||
throw t
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
Loading…
Reference in new issue