flexiblere Umsetzung des LendControllers durch Depedency-Injection
This commit is contained in:
parent
d07c82f749
commit
1c8ec4b517
2 changed files with 14 additions and 3 deletions
|
@ -13,13 +13,18 @@ namespace BuecherwurmAPI.Controllers
|
||||||
[ApiController]
|
[ApiController]
|
||||||
public class LendController : ControllerBase
|
public class LendController : ControllerBase
|
||||||
{
|
{
|
||||||
private readonly MockLendRepo _mockLendRepo = new MockLendRepo();
|
private ILendRepo _repository;
|
||||||
|
|
||||||
|
public LendController(ILendRepo repository)
|
||||||
|
{
|
||||||
|
_repository = repository;
|
||||||
|
}
|
||||||
|
|
||||||
//GET api/leihvorgang/
|
//GET api/leihvorgang/
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
public ActionResult<IEnumerable<Lend>> GetAllLends()
|
public ActionResult<IEnumerable<Lend>> GetAllLends()
|
||||||
{
|
{
|
||||||
var lends = _mockLendRepo.GetAllLends();
|
var lends = _repository.GetAllLends();
|
||||||
return Ok(lends);
|
return Ok(lends);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -27,7 +32,7 @@ namespace BuecherwurmAPI.Controllers
|
||||||
[HttpGet("{id}")]
|
[HttpGet("{id}")]
|
||||||
public ActionResult<Lend> GetLend(int id)
|
public ActionResult<Lend> GetLend(int id)
|
||||||
{
|
{
|
||||||
var lend = _mockLendRepo.GetLendById(id);
|
var lend = _repository.GetLendById(id);
|
||||||
return Ok(lend);
|
return Ok(lend);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,7 @@ using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
using BuecherwurmAPI.Data;
|
||||||
using Microsoft.AspNetCore.Builder;
|
using Microsoft.AspNetCore.Builder;
|
||||||
using Microsoft.AspNetCore.Hosting;
|
using Microsoft.AspNetCore.Hosting;
|
||||||
using Microsoft.AspNetCore.HttpsPolicy;
|
using Microsoft.AspNetCore.HttpsPolicy;
|
||||||
|
@ -26,6 +27,11 @@ namespace BuecherwurmAPI
|
||||||
public void ConfigureServices(IServiceCollection services)
|
public void ConfigureServices(IServiceCollection services)
|
||||||
{
|
{
|
||||||
services.AddControllers();
|
services.AddControllers();
|
||||||
|
|
||||||
|
// Adds a service that is created once per connection.
|
||||||
|
// It takes an interface and a specific implementation.
|
||||||
|
// That allows to swap the implementation easily.
|
||||||
|
services.AddScoped<ILendRepo, MockLendRepo>();
|
||||||
}
|
}
|
||||||
|
|
||||||
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
|
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
|
||||||
|
|
Loading…
Reference in a new issue