Ловля исключений с помощью servicetack
Мы уже давно используем ServiceStack для сервисов, основанных на REST, и пока это было удивительно.
Все наши услуги были написаны как:
public class MyRestService : RestService
{
public override object OnGet(RestServiceDto request)
{
}
}
Для каждого DTO у нас есть эквивалентный объект Response:
public class RestServiceDto
{
public ResponseStatus ResponseStatus {get;set;}
}
который обрабатывает все исключения, если они будут выброшены.
То, что я заметил, это если исключение выбрасывается вOnGet()
или жеOnPost()
методы, то описание состояния http содержит имя класса исключения, где, как если бы я бросил:
new HttpError(HttpStatus.NotFound, "Some Message");
тогда описание статуса http содержит текстНекоторое сообщение ".
Так как некоторые из остальных служб выдают исключения, а другие -new HttpError()
Мне было интересно, есть ли способ без изменения всех моих служб REST, чтобы перехватить какие-либо исключения и броситьnew HttpError()?
Так, например, еслиOnGet()
метод выдает исключение, затем ловит его и выбрасывает?new HttpError()