Есть ли / можете ли вы порекомендовать способ управления кодом статуса ответа в. net контроллере webapi webhook? Я использую. net GenericJsonWebHookHandler (v1.2.2.0), поэтому я могу реализовать веб-зацепки с помощью ряда различных решений.
Мой простой метод получает данные и обрабатывает их нормально; и у меня есть серия ловушек. Я хочу добавить обработку ошибок в сервис; но не могу найти способ изменить ответ на запрос. Независимо от моих попыток; метод, вызываемый через почтальона, всегда возвращает код состояния 200
Попытался добавить context.Response.StatusCode = HttpStatusCode.BadRequest;
в нижеприведенный улов; наряду с попыткой ответа contextErrorDetail context.RequestContext.IncludeErrorDetail = true;
Я нашел некоторую документацию, предполагающую, что строка ниже будет работать, но метод CreateErrorResponse, похоже, отсутствует в библиотеке.
context.Response = context.Request.CreateErrorResponse (HttpStatusCode.BadRequest, msg);
Шаблон моего обработчика приведен ниже; просто без каких-либо значимых логи c
public class GenericJsonWebHookHandler : WebHookHandler
{
public GenericJsonWebHookHandler()
{
this.Receiver = "genericjson";
}
public override Task ExecuteAsync(string generator, WebHookHandlerContext context)
{
if (context == null)
{
throw new ArgumentNullException(nameof(context));
}
try
{
// Get JSON from WebHook
string JSONPayload = context.Data.ToString();
...
catch (Exception ex)
{
-- Set Exception status code here
}
...
context.Response.StatusCode = HttpStatusCode.Found;
return Task.FromResult(true);
}