У меня есть приложение C#, которое может генерировать заблокированное исключение. Я хотел бы вернуть Microsoft.AspNetCore. Mvc .StatusCode из HttpStatusCode.Locked и добавить настраиваемое сообщение в ответ.
В настоящее время в контроллере, если я использую:
[ProducesResponseType(StatusCodes.Status423Locked)]
public async Task<IActionResult> GetSomething(Guid id)
{
try
{
await MyService
.GetAsync(id)
.ConfigureAwait(false);
return Ok();
}
catch (IsLockedException ex)
{
return StatusCode((int)HttpStatusCode.Locked, ex.Message);
}
Он просто возвращает текст сообщения об исключении, например:
The organisation 6ad1f1c0-2c47-4849-acbb-9eca56b568cf is offline.
Однако, если я изменю возврат на:
return StatusCode((int)HttpStatusCode.Locked);
, он вернет следующий ответ:
{
"status": 423,
"traceId": "|8f3060e2-4338773910204188."
}
Могу ли я сохранить в ответе как «статус», так и настраиваемый текст?