Rewizja kodu Web API

0

Hej, piszę pierwszą w życiu Web API, i trochę kombinowałem jak przerobić przykład z książki na asynchroniczną. Bazy pod nią nie ma, działa na liście obiektów ładowanych do pamięci. Kod się kompiluje i funkcjonalności działają, ale ciekaw jestem czy coś byście może zmienili? Z async nie mam wiele doświadczenia. Za klienta (dla consume) jeszcze się nie brałem, to pewnie też będzie ciekawa przygoda.

[Route("api/[controller]")]
    public class ReservationController : Controller
    {
        private IRepository repository;
        public ReservationController(IRepository repo) => repository = repo;
        [HttpGet]
        public async Task<IActionResult> Get()
        {
            var returnMe = await Task.Run(() => repository.Reservations);
            return Ok(returnMe);
        }
        [HttpGet("{id}")]
        public async Task<IActionResult> Get(int id)
        {
            var returnMe = await Task.Run(() => repository.GetReservation(id));
            return Ok(returnMe);
        }
        [HttpPost]
        public async Task<IActionResult> Post([FromBody] Reservation res)
        {
            var returnMe = await Task.Run(() => repository.AddReservation(new Reservation
            {
                ReservationId = 0,
                ClientName = res.ClientName,
                Location = res.Location
            }));
            return Ok(returnMe);
        }
        [HttpPut]
        public async Task<IActionResult> Put([FromBody] Reservation res)
        {
            var returnMe = await Task.Run(() => repository.UpdateReservation(res));
            return Ok(returnMe);
        }
        [HttpDelete("{id}")]
        public async Task<IActionResult> Delete(int id)
        {
            var returnMe = await Task.Run(() => repository.DeleteReservation(id));
            return Ok(returnMe);
        }
}

GH projektu:
https://github.com/przemyslawbak/Trials/tree/master/API%20Controller%2002%20async/API%20Controller%2001%20ksiazka

1 użytkowników online, w tym zalogowanych: 0, gości: 1