diff --git a/Sources/API_LoL/API_LoL.csproj b/Sources/API_LoL/API_LoL.csproj index db2c1c8..91c61d0 100644 --- a/Sources/API_LoL/API_LoL.csproj +++ b/Sources/API_LoL/API_LoL.csproj @@ -1,4 +1,4 @@ - + net6.0 @@ -11,6 +11,7 @@ + diff --git a/Sources/API_LoL/Controllers/ChampionsController.cs b/Sources/API_LoL/Controllers/ChampionsController.cs index 96adf52..46dbcaf 100644 --- a/Sources/API_LoL/Controllers/ChampionsController.cs +++ b/Sources/API_LoL/Controllers/ChampionsController.cs @@ -8,6 +8,8 @@ using System.Drawing; using System; using API_LoL.Mapper; using System.Xml.Linq; +using Microsoft.EntityFrameworkCore.Metadata.Internal; +using System.Reflection.PortableExecutable; // For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860 @@ -21,12 +23,17 @@ namespace API_LoL.Controllers { public ChampionsController(IDataManager Manager) { + this._logger = LoggerFactory.Create(builder => builder.AddConsole()).CreateLogger(); this.ChampionsManager = Manager.ChampionsMgr; this.SkinsManager = Manager.SkinsMgr; } + private IChampionsManager ChampionsManager; private ISkinsManager SkinsManager; + //private StubData stubData; + private ILogger logger; + private readonly ILogger _logger; // GET api//5 @@ -41,6 +48,7 @@ namespace API_LoL.Controllers { if (size - index > 10) { + _logger.LogError(message : "Oversized","Get","/Champion",400,"name : "+name,"skill : "+skill,"characteristics : "+characteristic,"index : "+index,"size : "+size,DateTime.Now); return BadRequest(); } if (!string.IsNullOrEmpty(name)) @@ -81,7 +89,11 @@ namespace API_LoL.Controllers [HttpGet("name")] public async Task GetByName(String name) { - if (string.IsNullOrEmpty(name)) return BadRequest(); + if (string.IsNullOrEmpty(name)) + { + _logger.LogError(message: "No paramater given", "Get", "/Champion/Name", 400, "name : " + name, DateTime.Now); + return BadRequest(); + } var list = await ChampionsManager.GetItemsByName(name, 0, 1); if (list.Count() == 1) { @@ -94,7 +106,11 @@ namespace API_LoL.Controllers [HttpGet("name/skins")] public async Task GetSkinsByName(String name) { - if (string.IsNullOrEmpty(name)) return BadRequest(); + if (string.IsNullOrEmpty(name)) + { + _logger.LogError(message: "No paramater given", "Get", "/Champion/Name/Skins", 400, "name : " + name, DateTime.Now); + return BadRequest(); + } var list = await ChampionsManager.GetItemsByName(name, 0, 1); if (list.Count() == 1) { @@ -134,6 +150,7 @@ namespace API_LoL.Controllers { if (champion == null) { + _logger.LogError(message: "Null paramater given", "Post", "/Champion", 422, "champion : " + champion.toString, DateTime.Now); return UnprocessableEntity(); } else diff --git a/Sources/API_LoL/Program.cs b/Sources/API_LoL/Program.cs index f1b44d0..78d467f 100644 --- a/Sources/API_LoL/Program.cs +++ b/Sources/API_LoL/Program.cs @@ -3,6 +3,7 @@ using EntityFramework; using EntityFramework.Manager; using Microsoft.AspNetCore.Mvc.ApiExplorer; using Microsoft.AspNetCore.Mvc.Versioning; +using Microsoft.Extensions.Logging; using Model; using StubLib; diff --git a/Sources/Api_UT/ChampionControllerTest.cs b/Sources/Api_UT/ChampionControllerTest.cs index 09c7875..0a93acf 100644 --- a/Sources/Api_UT/ChampionControllerTest.cs +++ b/Sources/Api_UT/ChampionControllerTest.cs @@ -3,6 +3,7 @@ using DTO; using FluentAssertions; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore.Query; +using Microsoft.Extensions.Logging; using Model; using StubLib; using System.Collections;