add comments for swagger

This commit is contained in:
2023-06-12 14:26:28 +02:00
parent 88ccaea826
commit 0e1c464cc1
4 changed files with 101 additions and 12 deletions

View File

@@ -1,11 +1,13 @@
using AB.Contracts;
using AB.Services.Abstractions;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace AB.API.Controllers.BusinessPartner;
[ApiController]
[Route("api/suppliers")]
[Produces("application/json")]
public class SupplierController : ControllerBase
{
@@ -16,6 +18,11 @@ public class SupplierController : ControllerBase
_supplierService = supplierService;
}
/// <summary>
/// Abrufen aller Lieferanten
/// </summary>
/// <param name="cancellationToken"></param>
/// <returns></returns>
[HttpGet]
public async Task<ActionResult<IEnumerable<SupplierDto>>> GetSupplieres(CancellationToken cancellationToken)
{
@@ -24,7 +31,16 @@ public class SupplierController : ControllerBase
return Ok(suppliers);
}
/// <summary>
/// Abrufen eines Lieferanten anhand seiner Id
/// </summary>
/// <param name="supplierId"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
/// <response code="404">Lieferant wurde nicht gefunden</response>
[HttpGet("{supplierId:guid}")]
[ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status404NotFound)]
public async Task<ActionResult<SupplierDto>> GetSupplierById(Guid supplierId, CancellationToken cancellationToken)
{
var supplierDto = await _supplierService.GetSupplierByIdAsync(supplierId, cancellationToken);
@@ -32,7 +48,15 @@ public class SupplierController : ControllerBase
return Ok(supplierDto);
}
/// <summary>
/// Anlegen eines neuen Lieferanten
/// </summary>
/// <param name="supplierForCreation"></param>
/// <param name="cancellationToken"></param>
/// <returns>Einen neu erstellen Kunden</returns>
/// <response code="201">Lieferant wurde erstellt</response>
[HttpPost]
[ProducesResponseType(StatusCodes.Status201Created)]
public async Task<CreatedAtActionResult> CreateSupplier([FromBody] SupplierForCreationDto supplierForCreation, CancellationToken cancellationToken)
{
var supplierDto = await _supplierService.CreateAsync(supplierForCreation, cancellationToken);
@@ -40,7 +64,17 @@ public class SupplierController : ControllerBase
return CreatedAtAction(nameof(CreateSupplier), new { id = supplierDto.Id }, supplierDto);
}
/// <summary>
/// Löschen eines vorhanden Lieferanten
/// </summary>
/// <param name="supplierId"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
/// <response code="204">Lieferant wurde gelöscht</response>
/// <response code="404">Lieferant wurde nicht gefunden</response>
[HttpDelete("{supplierId:guid}")]
[ProducesResponseType(StatusCodes.Status204NoContent)]
[ProducesResponseType(StatusCodes.Status404NotFound)]
public async Task<NoContentResult> DeleteSupplier(Guid supplierId, CancellationToken cancellationToken)
{
await _supplierService.DeleteAsync(supplierId, cancellationToken);