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/customers")]
[Produces("application/json")]
public class CustomerController : ControllerBase
{
@@ -16,6 +18,11 @@ public class CustomerController : ControllerBase
_customerService = customerService;
}
/// <summary>
/// Abrufen aller Kunden
/// </summary>
/// <param name="cancellationToken"></param>
/// <returns>Eine Liste aller Kunden</returns>
[HttpGet]
public async Task<ActionResult<IEnumerable<CustomerDto>>> GetCustomers(CancellationToken cancellationToken)
{
@@ -24,6 +31,12 @@ public class CustomerController : ControllerBase
return Ok(customers);
}
/// <summary>
/// Abrufen eines Kunden anhand seiner Id
/// </summary>
/// <param name="customerId"></param>
/// <param name="cancellationToken"></param>
/// <returns>Den Kunden mit der angegeben Id</returns>
[HttpGet("{customerId:guid}")]
public async Task<ActionResult<CustomerDto>> GetCustomerById(Guid customerId, CancellationToken cancellationToken)
{
@@ -32,7 +45,14 @@ public class CustomerController : ControllerBase
return Ok(customer);
}
/// <summary>
/// Anlegen eines neuen Kunden
/// </summary>
/// <param name="customerForCreation"></param>
/// <returns>Einen neu erstellten Kunden</returns>
/// <response code="201">Kunde wurde erstellt</response>
[HttpPost]
[ProducesResponseType(StatusCodes.Status201Created)]
public async Task<CreatedAtActionResult> CreateCustomer([FromBody] CustomerForCreationDto customerForCreation)
{
var customerDto = await _customerService.CreateAsync(customerForCreation);
@@ -40,7 +60,17 @@ public class CustomerController : ControllerBase
return CreatedAtAction(nameof(CreateCustomer), new { customerId = customerDto.Id }, customerDto);
}
/// <summary>
/// Löschen eines vorhandenen Kunden
/// </summary>
/// <param name="customerId"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
/// <response code="204">Kunde wurde gelöscht</response>
/// <response code="404">Kunde wurde nicht gefunden</response>
[HttpDelete("{customerId:guid}")]
[ProducesResponseType(StatusCodes.Status204NoContent)]
[ProducesResponseType(StatusCodes.Status404NotFound)]
public async Task<NoContentResult> DeleteCustomer(Guid customerId, CancellationToken cancellationToken)
{
await _customerService.DeleteAsync(customerId, cancellationToken);
@@ -48,7 +78,19 @@ public class CustomerController : ControllerBase
return NoContent();
}
/// <summary>
/// Bearbeiten eines vorhanden Kunden
/// </summary>
/// <param name="customerId"></param>
/// <param name="customerForUpdate"></param>
/// <param name="cancellationToken"></param>
/// <returns>Den veränderten Kunden
/// </returns>
/// <response code="200">Kunde wurde bearbeitet</response>
/// <response code="404">Kunde wurde nicht gefunden</response>
[HttpPut("{customerId:guid}")]
[ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status404NotFound)]
public async Task<ActionResult<CustomerDto>> UpdateCustomer(Guid customerId, CustomerForUpdateDto customerForUpdate, CancellationToken cancellationToken)
{
var customerDto = await _customerService.UpdateAsync(customerId, customerForUpdate, cancellationToken);