Bonjour,

Soit la méthode AfficherLesAuteurs(IList<Auteur>listeAuteurs) d'un controller Auteur qui appelle la méthode RecupLesAuteursAsync

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
 
[RoutePrefix("api/Auteur")]
 
public class AuteurController : Controller
{
        private const string urlAPI = "http://localhost:59281/api/";
 
    [Route("")]
    [HttpGet]
    public async Task<ActionResult> AfficherAuteurs(IList<Auteur>listeAuteurs)
    {
        VM_ListAuteurs modelAuteurs = new VM_ListAuteurs();
        modelAuteurs.ListAuteurs = null;
        try
        {
 
            modelAuteurs.ListAuteurs = await this.RecupLesAuteursAsync(listeAuteurs);
 
            return View(modelAuteurs);
        }
 
        catch (Exception ex)
        {
            Console.WriteLine("une erreur s'est produite" + ex.Message);
 
            return View(modelAuteurs);
        }
    }
Soit la méthode RecupLesAuteursAsync(IList<Auteur>listeAuteurs) suivante déclarée dans le Controller

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
 
 
public async Task<IEnumerable<Auteur>> RecupLesAuteursAsync(IList<Auteur>listeAuteurs )
 {
 
     using (HttpClient client = new HttpClient())
     {
 
         var objetReponse = await client.GetAsync($"{urlAPI}Auteur");
 
 
         if (objetReponse.StatusCode == System.Net.HttpStatusCode.OK)
         {
             var objetContenu = objetReponse.Content;
             var stringContenu = await objetContenu.ReadAsStringAsync();
 
             var listAuteurs = JsonConvert.DeserializeObject<IEnumerable<Auteur>>(stringContenu);
 
             return listAuteurs;
 
         }
         else if (objetReponse.StatusCode == System.Net.HttpStatusCode.NotFound)
         {
             return null;
         }
         else
         {
 
             var objetContenu = objetReponse.Content;
             var stringContenu = await objetContenu.ReadAsStringAsync();
 
             throw new Exception("Un problème avec API : status = {objetReponse.StatusCode}, contenu : {stringContenu}");
         }
 
     }//fin de using
 
 
 }//fin de methode RecupLesAuteursAsync

Merci de m'informer comment récupérer les infos à l'adresse http://localhost:59281/api/Auteur par l'appel de la méthode

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
var objetReponse = await client.GetAsync($"{urlAPI}Auteur");
Dois je utiliser un client Rest absolument ou pas ?

Merci beaucoup de votre réponse .

Bien cordialement.

new_wave