You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
1.3 KiB
69 lines
1.3 KiB
using Microsoft.AspNetCore.Mvc;
|
|
using WebApi.Models;
|
|
using WebApi.Services;
|
|
|
|
namespace WebApi.Controllers;
|
|
|
|
[ApiController]
|
|
[Route("[controller]")]
|
|
public class PizzaController : Controller
|
|
{
|
|
public PizzaController()
|
|
{
|
|
|
|
}
|
|
|
|
// GET Action
|
|
|
|
[HttpGet]
|
|
public ActionResult<List<Pizza>> GetAll() => PizzaService.GetAll();
|
|
|
|
[HttpGet("{id}")]
|
|
public ActionResult<Pizza> Get(int id)
|
|
{
|
|
var pizza = PizzaService.Get(id);
|
|
if (pizza == null)
|
|
return NotFound();
|
|
|
|
return pizza;
|
|
}
|
|
|
|
// POST Action
|
|
|
|
[HttpPost]
|
|
public IActionResult Create(Pizza pizza)
|
|
{
|
|
PizzaService.Add(pizza);
|
|
return CreatedAtAction(nameof(Get), new { id = pizza.Id}, pizza);
|
|
}
|
|
|
|
// PUT Action
|
|
|
|
[HttpPut("{id}")]
|
|
public IActionResult Update(int id, Pizza pizza)
|
|
{
|
|
if (id != pizza.Id)
|
|
return BadRequest();
|
|
|
|
var existingPizza = PizzaService.Get(id);
|
|
if (existingPizza is null)
|
|
return NotFound();
|
|
|
|
PizzaService.Update(pizza);
|
|
|
|
return NoContent();
|
|
}
|
|
|
|
// DELETE Action
|
|
[HttpDelete("{id}")]
|
|
public IActionResult Delete(int id)
|
|
{
|
|
var pizza = PizzaService.Get(id);
|
|
if (pizza is null)
|
|
return NotFound();
|
|
|
|
PizzaService.Delete(id);
|
|
|
|
return NoContent();
|
|
}
|
|
} |