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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
|
using Entite;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
using System.IO;
using System.Net.Http.Formatting;
namespace ConsommerAPI
{
public class ServiceAuteur
{//port 59343 première version
private const string urlAPI = "http://localhost:59281/api/";
//Ajoute un auteur
public async Task<Auteur> AjouterUnAuteur(Auteur auteur)
{
HttpClient client = new HttpClient();
var content = new ObjectContent<Auteur>(auteur, new JsonMediaTypeFormatter());
var objetReponse = await client.PostAsync("{urlAPI}Auteur/", content);
if (objetReponse.IsSuccessStatusCode)
{
return auteur;
}
else if (objetReponse.StatusCode == System.Net.HttpStatusCode.NotFound)
{
return null;
}
else
{
throw new Exception("Un problème avec API : status = {objetReponse.StatusCode}");
}
}
public async Task<IEnumerable<Auteur>> recupLesAuteursAsync()
{
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 listAuteur = JsonConvert.DeserializeObject<IEnumerable<Auteur>>(stringContenu);
return listAuteur;
}
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}");
}
}
public async Task<Auteur> recupAuteurById(int id)
{
HttpClient client = new HttpClient();
var objetReponse = await client.GetAsync("{urlAPI}Auteur/{id}");
if (objetReponse.StatusCode == System.Net.HttpStatusCode.OK)
{
var objetContenu = objetReponse.Content;
var stringContenu = await objetContenu.ReadAsStringAsync();
var auteur = JsonConvert.DeserializeObject<Auteur>(stringContenu);
return auteur;
}
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}");
}
}
}
} |
Partager