Projekt repariert
This commit is contained in:
parent
70f6900661
commit
9d19fa9b14
6 changed files with 56 additions and 340 deletions
|
@ -1,4 +1,3 @@
|
||||||
<<<<<<< HEAD
|
|
||||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
|
@ -20,40 +19,3 @@
|
||||||
|
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
||||||| 22e87cd
|
|
||||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="7.0.0" />
|
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="3.1.4" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
|
|
||||||
</Project>
|
|
||||||
=======
|
|
||||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="7.0.0" />
|
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="3.1.4" />
|
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="3.1.4" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<None Remove="LongWormMemory.db" />
|
|
||||||
<Resource Include="LongWormMemory.db">
|
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
||||||
</Resource>
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
|
|
||||||
</Project>
|
|
||||||
>>>>>>> 9738f3a239ed469853270f7334714b5cc40afe5c
|
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
<<<<<<< HEAD
|
using System;
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
@ -71,6 +70,7 @@ namespace BuecherwurmAPI.Controllers
|
||||||
{
|
{
|
||||||
return NotFound();
|
return NotFound();
|
||||||
}
|
}
|
||||||
|
|
||||||
return Ok(lend);
|
return Ok(lend);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -82,174 +82,3 @@ namespace BuecherwurmAPI.Controllers
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
||||||| 22e87cd
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using AutoMapper;
|
|
||||||
using BuecherwurmAPI.Data;
|
|
||||||
using BuecherwurmAPI.DTOs;
|
|
||||||
using Microsoft.AspNetCore.Mvc;
|
|
||||||
using Microsoft.AspNetCore.JsonPatch;
|
|
||||||
using Microsoft.Extensions.Logging;
|
|
||||||
using BuecherwurmAPI.Models;
|
|
||||||
|
|
||||||
namespace BuecherwurmAPI.Controllers
|
|
||||||
{
|
|
||||||
[Route("api/leihvorgang")]
|
|
||||||
[ApiController]
|
|
||||||
public class LendController : ControllerBase
|
|
||||||
{
|
|
||||||
private readonly ILendRepo _repository;
|
|
||||||
private readonly IMapper _mapper;
|
|
||||||
|
|
||||||
public LendController(ILendRepo repository, IMapper mapper)
|
|
||||||
{
|
|
||||||
_repository = repository;
|
|
||||||
_mapper = mapper;
|
|
||||||
}
|
|
||||||
|
|
||||||
//GET api/leihvorgang
|
|
||||||
[HttpGet]
|
|
||||||
public ActionResult<IEnumerable<Lend>> LendsGet()
|
|
||||||
{
|
|
||||||
return Ok(_repository.GetAllLends());
|
|
||||||
}
|
|
||||||
|
|
||||||
//POST api/leihvorgang
|
|
||||||
[HttpPost]
|
|
||||||
public ActionResult<LendReadDTO> LendsPost(Lend lend)
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
Internally a lend is stored with an id
|
|
||||||
but the client shouldn't be allowed to set or change it
|
|
||||||
therefore the package 'AutoMapper' is used to prevent errors
|
|
||||||
that could happen when doing this task manually.
|
|
||||||
It takes the information from the client and maps it to the
|
|
||||||
corresponding internal object which then will be returned.
|
|
||||||
Furthermore it could be used to keep some attributes secret.
|
|
||||||
Another nice effect of this is that the implementation could be changed
|
|
||||||
while the interface could be retained by some minor changes in the code.
|
|
||||||
|
|
||||||
DTO stands for Data Transfer Object
|
|
||||||
*/
|
|
||||||
var item = new Lend
|
|
||||||
{
|
|
||||||
Id = 256,
|
|
||||||
Customer = lend.Customer,
|
|
||||||
Returned = lend.Returned,
|
|
||||||
ItemId = lend.ItemId,
|
|
||||||
ReturnDate = lend.ReturnDate
|
|
||||||
};
|
|
||||||
return Ok(item);
|
|
||||||
//return Ok(_mapper.Map<LendReadDTO>(item));
|
|
||||||
}
|
|
||||||
|
|
||||||
//GET api/leihvorgang/{id}
|
|
||||||
[HttpGet("{id}")]
|
|
||||||
public ActionResult<Lend> LendById(int id)
|
|
||||||
{
|
|
||||||
var lend = _repository.GetLendById(id);
|
|
||||||
return Ok(lend);
|
|
||||||
}
|
|
||||||
|
|
||||||
//PATCH api/leihvorgang/{id}
|
|
||||||
[HttpPatch("{id}")]
|
|
||||||
public ActionResult LendPatchById(int id, JsonPatchDocument<Lend> patchDocument)
|
|
||||||
{
|
|
||||||
var lend = _repository.GetLendById(id);
|
|
||||||
if (lend == null)
|
|
||||||
{
|
|
||||||
return NotFound();
|
|
||||||
}
|
|
||||||
return Ok();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
=======
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using AutoMapper;
|
|
||||||
using BuecherwurmAPI.Data;
|
|
||||||
using BuecherwurmAPI.DTOs;
|
|
||||||
using Microsoft.AspNetCore.Mvc;
|
|
||||||
using Microsoft.AspNetCore.JsonPatch;
|
|
||||||
using Microsoft.Extensions.Logging;
|
|
||||||
using BuecherwurmAPI.Models;
|
|
||||||
|
|
||||||
namespace BuecherwurmAPI.Controllers
|
|
||||||
{
|
|
||||||
[Route("api/leihvorgang")]
|
|
||||||
[ApiController]
|
|
||||||
public class LendController : ControllerBase
|
|
||||||
{
|
|
||||||
private readonly ILendRepo _repository;
|
|
||||||
private readonly IMapper _mapper;
|
|
||||||
|
|
||||||
public LendController(ILendRepo repository, IMapper mapper)
|
|
||||||
{
|
|
||||||
_repository = repository;
|
|
||||||
_mapper = mapper;
|
|
||||||
}
|
|
||||||
|
|
||||||
//GET api/leihvorgang
|
|
||||||
[HttpGet]
|
|
||||||
public ActionResult<IEnumerable<Lend>> LendsGet()
|
|
||||||
{
|
|
||||||
return Ok(_repository.GetAllLends());
|
|
||||||
}
|
|
||||||
|
|
||||||
//POST api/leihvorgang
|
|
||||||
[HttpPost]
|
|
||||||
public ActionResult<LendReadDTO> LendsPost(Lend lend)
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
Internally a lend is stored with an id
|
|
||||||
but the client shouldn't be allowed to set or change it
|
|
||||||
therefore the package 'AutoMapper' is used to prevent errors
|
|
||||||
that could happen when doing this task manually.
|
|
||||||
It takes the information from the client and maps it to the
|
|
||||||
corresponding internal object which then will be returned.
|
|
||||||
Furthermore it could be used to keep some attributes secret.
|
|
||||||
Another nice effect of this is that the implementation could be changed
|
|
||||||
while the interface could be retained by some minor changes in the code.
|
|
||||||
|
|
||||||
DTO stands for Data Transfer Object
|
|
||||||
*/
|
|
||||||
var item = new Lend
|
|
||||||
{
|
|
||||||
Id = 256,
|
|
||||||
Customer = lend.Customer,
|
|
||||||
Returned = lend.Returned,
|
|
||||||
ItemId = lend.ItemId,
|
|
||||||
ReturnDate = lend.ReturnDate
|
|
||||||
};
|
|
||||||
return Ok(item);
|
|
||||||
//return Ok(_mapper.Map<LendReadDTO>(item));
|
|
||||||
}
|
|
||||||
|
|
||||||
//GET api/leihvorgang/{id}
|
|
||||||
[HttpGet("{id}")]
|
|
||||||
public ActionResult<Lend> LendById(int id)
|
|
||||||
{
|
|
||||||
var lend = _repository.GetLendById(id);
|
|
||||||
return Ok(lend);
|
|
||||||
}
|
|
||||||
|
|
||||||
//PATCH api/leihvorgang/{id}
|
|
||||||
[HttpPatch("{id}")]
|
|
||||||
public ActionResult LendPatchById(int id, JsonPatchDocument<Lend> patchDocument)
|
|
||||||
{
|
|
||||||
var lend = _repository.GetLendById(id);
|
|
||||||
if (lend == null)
|
|
||||||
{
|
|
||||||
return NotFound();
|
|
||||||
}
|
|
||||||
return Ok();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
>>>>>>> 9738f3a239ed469853270f7334714b5cc40afe5c
|
|
||||||
|
|
30
Properties/launchSettings.json
Normal file
30
Properties/launchSettings.json
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
"$schema": "http://json.schemastore.org/launchsettings.json",
|
||||||
|
"iisSettings": {
|
||||||
|
"windowsAuthentication": false,
|
||||||
|
"anonymousAuthentication": true,
|
||||||
|
"iisExpress": {
|
||||||
|
"applicationUrl": "http://localhost:5975",
|
||||||
|
"sslPort": 44376
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"profiles": {
|
||||||
|
"IIS Express": {
|
||||||
|
"commandName": "IISExpress",
|
||||||
|
"launchBrowser": true,
|
||||||
|
"launchUrl": "api",
|
||||||
|
"environmentVariables": {
|
||||||
|
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"BuecherwurmAPI": {
|
||||||
|
"commandName": "Project",
|
||||||
|
"launchBrowser": true,
|
||||||
|
"launchUrl": "api",
|
||||||
|
"applicationUrl": "https://localhost:5001;http://localhost:5000",
|
||||||
|
"environmentVariables": {
|
||||||
|
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
124
Startup.cs
124
Startup.cs
|
@ -1,4 +1,3 @@
|
||||||
<<<<<<< HEAD
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
@ -59,126 +58,3 @@ namespace BuecherwurmAPI
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
||||||| 22e87cd
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using AutoMapper;
|
|
||||||
using BuecherwurmAPI.Data;
|
|
||||||
using Microsoft.AspNetCore.Builder;
|
|
||||||
using Microsoft.AspNetCore.Hosting;
|
|
||||||
using Microsoft.AspNetCore.HttpsPolicy;
|
|
||||||
using Microsoft.AspNetCore.Mvc;
|
|
||||||
using Microsoft.Extensions.Configuration;
|
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
|
||||||
using Microsoft.Extensions.Hosting;
|
|
||||||
using Microsoft.Extensions.Logging;
|
|
||||||
|
|
||||||
namespace BuecherwurmAPI
|
|
||||||
{
|
|
||||||
public class Startup
|
|
||||||
{
|
|
||||||
public Startup(IConfiguration configuration)
|
|
||||||
{
|
|
||||||
Configuration = configuration;
|
|
||||||
}
|
|
||||||
|
|
||||||
public IConfiguration Configuration { get; }
|
|
||||||
|
|
||||||
// This method gets called by the runtime. Use this method to add services to the container.
|
|
||||||
public void ConfigureServices(IServiceCollection services)
|
|
||||||
{
|
|
||||||
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>();
|
|
||||||
|
|
||||||
services.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies());
|
|
||||||
}
|
|
||||||
|
|
||||||
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
|
|
||||||
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
|
|
||||||
{
|
|
||||||
if (env.IsDevelopment())
|
|
||||||
{
|
|
||||||
app.UseDeveloperExceptionPage();
|
|
||||||
}
|
|
||||||
|
|
||||||
app.UseHttpsRedirection();
|
|
||||||
|
|
||||||
app.UseRouting();
|
|
||||||
|
|
||||||
app.UseAuthorization();
|
|
||||||
|
|
||||||
app.UseEndpoints(endpoints =>
|
|
||||||
{
|
|
||||||
endpoints.MapControllers();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
=======
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using AutoMapper;
|
|
||||||
using BuecherwurmAPI.Data;
|
|
||||||
using Microsoft.AspNetCore.Builder;
|
|
||||||
using Microsoft.AspNetCore.Hosting;
|
|
||||||
using Microsoft.AspNetCore.HttpsPolicy;
|
|
||||||
using Microsoft.AspNetCore.Mvc;
|
|
||||||
using Microsoft.Extensions.Configuration;
|
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
|
||||||
using Microsoft.Extensions.Hosting;
|
|
||||||
using Microsoft.Extensions.Logging;
|
|
||||||
|
|
||||||
namespace BuecherwurmAPI
|
|
||||||
{
|
|
||||||
public class Startup
|
|
||||||
{
|
|
||||||
public Startup(IConfiguration configuration)
|
|
||||||
{
|
|
||||||
Configuration = configuration;
|
|
||||||
}
|
|
||||||
|
|
||||||
public IConfiguration Configuration { get; }
|
|
||||||
|
|
||||||
// This method gets called by the runtime. Use this method to add services to the container.
|
|
||||||
public void ConfigureServices(IServiceCollection services)
|
|
||||||
{
|
|
||||||
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>();
|
|
||||||
|
|
||||||
services.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies());
|
|
||||||
}
|
|
||||||
|
|
||||||
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
|
|
||||||
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
|
|
||||||
{
|
|
||||||
if (env.IsDevelopment())
|
|
||||||
{
|
|
||||||
app.UseDeveloperExceptionPage();
|
|
||||||
}
|
|
||||||
|
|
||||||
app.UseHttpsRedirection();
|
|
||||||
|
|
||||||
app.UseRouting();
|
|
||||||
|
|
||||||
app.UseAuthorization();
|
|
||||||
|
|
||||||
app.UseEndpoints(endpoints =>
|
|
||||||
{
|
|
||||||
endpoints.MapControllers();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
>>>>>>> 9738f3a239ed469853270f7334714b5cc40afe5c
|
|
||||||
|
|
9
appsettings.Development.json
Normal file
9
appsettings.Development.json
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"Logging": {
|
||||||
|
"LogLevel": {
|
||||||
|
"Default": "Information",
|
||||||
|
"Microsoft": "Warning",
|
||||||
|
"Microsoft.Hosting.Lifetime": "Information"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
10
appsettings.json
Normal file
10
appsettings.json
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"Logging": {
|
||||||
|
"LogLevel": {
|
||||||
|
"Default": "Information",
|
||||||
|
"Microsoft": "Warning",
|
||||||
|
"Microsoft.Hosting.Lifetime": "Information"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"AllowedHosts": "*"
|
||||||
|
}
|
Loading…
Reference in a new issue