Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

PatternsController.cs 1.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. using Diligent.WebAPI.Contracts.DTOs.Pattern;
  2. namespace Diligent.WebAPI.Host.Controllers.V1
  3. {
  4. [ApiVersion("1.0")]
  5. [Route("v{version:apiVersion}/patterns")]
  6. [ApiController]
  7. public class PatternsController : ControllerBase
  8. {
  9. private readonly IPatternService _patternService;
  10. public PatternsController(IPatternService patternService)
  11. {
  12. _patternService = patternService;
  13. }
  14. [HttpGet]
  15. public async Task<IActionResult> GetAll() =>
  16. Ok(await _patternService.GetAllAsync());
  17. [HttpGet("{id}")]
  18. public async Task<IActionResult> GetById([FromRoute] int id) =>
  19. Ok(await _patternService.GetByIdAsync(id));
  20. [HttpPost]
  21. public async Task<IActionResult> Create([FromBody] PatternCreateDto request)
  22. {
  23. await _patternService.CreateAsync(request);
  24. return StatusCode((int)HttpStatusCode.Created);
  25. }
  26. [HttpPut("{id}")]
  27. public async Task<IActionResult> Update([FromBody]PatternUpdateDto request, [FromRoute]int id)
  28. {
  29. await _patternService.UpdateAsync(request, id);
  30. return Ok();
  31. }
  32. [HttpDelete("{id}")]
  33. public async Task<IActionResult> DeletePattern([FromRoute] int id)
  34. {
  35. await _patternService.DeleteAsync(id);
  36. return NoContent();
  37. }
  38. }
  39. }