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

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();
}
}