Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Троелсен Эндрю, "Язык программирования C#9 и платформа .NET5" бесплатно, без регистрации.
try
{
MainRepo.Update(entity);
}
catch (CustomException ex)
{
// Пример специального исключения.
// Должно обрабатываться более элегантно.
return BadRequest(ex);
}
catch (Exception ex)
{
// Должно обрабатываться более элегантно.
return BadRequest(ex);
}
return Ok(entity);
}
Метод начинается с установки маршрута как запроса
HttpPut
id
id
[FromRoute]
entity
[FromBody]
ApiController
Метод проверяет, совпадает ли значение маршрута (
id
id
На заметку! Обработка исключений в этом примере (а также в остальных примерах) абсолютно неадекватна. В производственных приложениях вы должны задействовать все знания, полученные к настоящему времени, чтобы элегантно обрабатывать возникающие проблемы в соответствии с имеющимися требованиями.
Метод AddOne()
Вставка записи делается с применением HTTP-метода
POST
AddOne()
/// <summary>
/// Adds a single record
/// </summary>
/// <remarks>
/// Sample body:
/// <pre>
/// {
/// "Id": 1,
/// "TimeStamp": "AAAAAAAAB+E="
/// "MakeId": 1,
/// "Color": "Black",
/// "PetName": "Zippy",
/// "MakeColor": "VW (Black)",
/// }
/// </pre>
/// </remarks>
/// <returns>Added record</returns>
/// <response code="201">Found and updated the record</response>
/// <response code="400">Bad request</response>
[Produces("application/json")]
[ProducesResponseType(StatusCodes.Status201Created)]
[ProducesResponseType(StatusCodes.Status400BadRequest)]
[SwaggerResponse(201, "The execution was successful")]
[SwaggerResponse(400, "The request was invalid")]
[HttpPost]
public ActionResult<T> AddOne(T entity)
{
try
{
MainRepo.Add(entity);
}
catch (Exception ex)
{
return BadRequest(ex);
}
return CreatedAtAction(nameof(GetOne), new {id = entity.Id}, entity);
}
Метод начинается с определения маршрута как запроса
HttpPost
CreatedAtAction()
Location
Метод DeleteOne()
Удаление записи делается с применением HTTP-метода
DELETE
DeleteOne()
/// <summary>
/// Deletes a single record
/// </summary>
/// <remarks>
/// Sample body:
/// <pre>
/// {
/// "Id": 1,
/// "TimeStamp": "AAAAAAAAB+E="
/// }
/// </pre>
/// </remarks>
/// <returns>Nothing</returns>