Files
GerbilManager/Controllers/GerbilsController.cs
2023-10-16 22:37:49 +02:00

42 lines
1.0 KiB
C#

using GerbilManager.Models;
using GerbilManager.Repositories;
using GerbilManager.Dtos;
using Microsoft.AspNetCore.Mvc;
using GerbilManager.Converter;
namespace GerbilManager.Controllers
{
[ApiController]
[Route("gerbils")]
public class GerbilsController : ControllerBase
{
private readonly IGerbilRepository repository;
public GerbilsController(IGerbilRepository repo)
{
this.repository = repo;
}
//GET /gerbils
[HttpGet]
public IEnumerable<GerbilDto> GetGerbils()
{
var items = repository.GetGerbils().Select( gerbil => gerbil.AsDto());
return items;
}
//GET /gerbils
[HttpGet("{id}")]
public ActionResult<GerbilDto> GetGerbil(Guid id)
{
var item = repository.GetGerbil(id).AsDto();
if(item is null)
{
return NotFound();
}
return item;
}
}
}