using API.Dto; using API.Mapping; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Model; using Newtonsoft.Json; using StubLib; using System.Collections.Generic; using System.Net.Http; using System.Net.Http.Headers; using System.Net.Http.Json; using System.Threading.Tasks; namespace API.Controllers { [ApiController] [Route("[controller]")] public class ChampionController : ControllerBase { private readonly ILogger _logger; private readonly StubData stub = new StubData(); // private readonly IDataManager dataManager; Pour plus tard pour le momment c'est avec le stub // private const string Apichampion = "api/champion"; // private readonly HttpClient _client; public ChampionController(ILogger logger) { _logger = logger; } /* public championHttpManager(HttpClient client) { _client = client; client.BaseAddress = new Uri("à chopper dans lauchSettings.json propriété du projet"); } */ /**** Méthodes GET ****/ [HttpGet] public async Task> Get() { IEnumerable listeChamp = await stub.ChampionsMgr.GetItems(0, stub.ChampionsMgr.GetNbItems().Result); List champs = new List(); listeChamp.ToList().ForEach(c => champs.Add(c.ToDto())); return Ok(champs); } [HttpGet] [Route("{id}")] public ActionResult> GetById() { BadRequest("404"); return Ok(Enumerable.Range(1, 5).Select(index => new ChampionDto { Id = index, Name = "Stark", Bio = "Trop fort", }) .ToArray()); } /*public async Task> getJson() { var champions = await _client.GetFromJsonAsync>(); var reponse = await _client.GetAsync("api/champion"); return champions; }*/ /**** Méthodes POST ****/ /*[HttpPost] public async Task post([FromBody] ChampionDto champion) { return CreatedAtAction(nameof(GetById), new { id = 1 }, await dataManager.ChampionsMgr.AddItem(champion.ToModel)); } public async void addchampion(ChampionDto champion) { _clientLpostAsJsonAscync(ApiChampion, champion); }*/ /**** Méthodes DELETE ****/ /**** Méthodes PUT ****/ } }