Ik ben momenteel bezig met het opzetten van een REST API in een ASP.NET C# project in Visual Studio. De API maakt contact met een externe PostgrueSQL database met behulp van npgsql EntityFramework. Dit lijkt te werken, want de initial migration is uitgevoerd en er is op de database server een database geïnitialiseerd zoals ik het model gedefinieerd hebt. Voor de CRUD operaties heb ik een API controller met actions laten genereren, waarvan ik de logica naar een nieuw op te zetten Service dien te verplaatsen. De controller dient daarna tevens de IService te implementeren.
Mijn vragen:
Hoe stel ik vast welke logica ik moet verplaatsen?
Wat is business logic in dit geval?
Op welke manier verplaats ik de logica dan?
Voorbeeld:
Dien ik in dit geval de logica hieruit in de gelijknamige method in de service te plakken, de context daarbij mee te geven, in de Controller een instantie van de Service aan te maken en dan de gelijknamige method met de geplakte logica in de Service aan te roepen? Of denk ik nu verkeerd?
Dus bijvoorbeeld dit:
/f/image/WogkQMoQQAbVagXz8g2Rd3n2.png?f=fotoalbum_large)
Relevante software en hardware die ik gebruik
Visual Studio
ASP.NET project in C#
Wat ik al gevonden of geprobeerd heb
Ik heb een nieuwe folder aangemaakt, Service genaamd. Hierin heb ik een nieuwe Service class aangemaakt en methods aangemaakt die gelijknamig zijn aan de CRUD-methods in de Controller. Vervolgens heb ik in dezelfde folder een IService interface aangemaakt en dezeflde method signatures geplakt.
Mijn vragen:
Hoe stel ik vast welke logica ik moet verplaatsen?
Wat is business logic in dit geval?
Op welke manier verplaats ik de logica dan?
Voorbeeld:
code:
1
2
3
4
5
6
7
8
9
10
11
12
| // GET: api/Album [HttpGet] public async Task<ActionResult<IEnumerable<Album.Api.Models.Album>>> GetAlbums() { //return _albumService.GetAlbums(); if (_context.Albums == null) { return NotFound(); } return await _context.Albums.ToListAsync(); } |
Dien ik in dit geval de logica hieruit in de gelijknamige method in de service te plakken, de context daarbij mee te geven, in de Controller een instantie van de Service aan te maken en dan de gelijknamige method met de geplakte logica in de Service aan te roepen? Of denk ik nu verkeerd?
Dus bijvoorbeeld dit:
/f/image/WogkQMoQQAbVagXz8g2Rd3n2.png?f=fotoalbum_large)
Relevante software en hardware die ik gebruik
Visual Studio
ASP.NET project in C#
Wat ik al gevonden of geprobeerd heb
Ik heb een nieuwe folder aangemaakt, Service genaamd. Hierin heb ik een nieuwe Service class aangemaakt en methods aangemaakt die gelijknamig zijn aan de CRUD-methods in de Controller. Vervolgens heb ik in dezelfde folder een IService interface aangemaakt en dezeflde method signatures geplakt.
[ Voor 10% gewijzigd door timmie1 op 10-07-2023 11:23 ]
Spiegeltje, spiegeltje aan de wand, wie heeft de mooiste telefoon van het land?