ProductsController.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. using Microsoft.AspNetCore.Mvc;
  2. using Products.Business.Service;
  3. using Products.Common.Dtos;
  4. namespace Products.API.Controllers;
  5. [Route("api/[controller]")]
  6. [ApiController]
  7. public class ProductsController : ControllerBase
  8. {
  9. private readonly IProductService _productService;
  10. public ProductsController(IProductService productService)
  11. {
  12. _productService = productService;
  13. }
  14. [HttpGet]
  15. public ActionResult<IEnumerable<ProductDto>> Get()
  16. {
  17. return Ok(_productService.GetProducts());
  18. }
  19. [HttpGet("{id}")]
  20. public ActionResult<ProductDto> Get(int id)
  21. {
  22. return Ok(_productService.GetProduct(id));
  23. }
  24. [HttpPost]
  25. public ActionResult<ProductDto> Post(CreateProductDto product)
  26. {
  27. return Ok(_productService.AddProduct(product));
  28. }
  29. [HttpPut("{id}")]
  30. public ActionResult<ProductDto> Put(int id, UpdateProductDto product)
  31. {
  32. return Ok(_productService.UpdateProduct(id, product));
  33. }
  34. [HttpDelete("{id}")]
  35. public ActionResult Delete(int id)
  36. {
  37. _productService.DeleteProduct(id);
  38. return Ok();
  39. }
  40. }