Ausnahmen mit servicestack abfangen
Wir verwenden ServiceStack für REST-basierte Services bereits seit einiger Zeit und es war bisher erstaunlich.
Alle unsere Dienstleistungen wurden geschrieben als:
public class MyRestService : RestService<RestServiceDto>
{
public override object OnGet(RestServiceDto request)
{
}
}
Für jedes DTO haben wir ein Response-äquivalentes Objekt:
public class RestServiceDto
{
public ResponseStatus ResponseStatus {get;set;}
}
die alle Ausnahmen behandelt, sollten sie geworfen werden.
Was mir aufgefallen ist, wenn eine Ausnahme in die geworfen wirdOnGet()
oderOnPost()
Methoden, dann enthält die http-Statusbeschreibung den Namen der Ausnahmeklasse, wo, als ob ich ein warf:
new HttpError(HttpStatus.NotFound, "Some Message");
dann enthält die http-Statusbeschreibung den Text "Some Message".
Da einige der anderen Dienste Ausnahmen und andere Ausnahmen auslösennew HttpError()
Ich habe mich gefragt, ob es einen Weg gibt, ohne alle meine REST-Services zu ändern, um Ausnahmen abzufangen und eine zu werfennew HttpError()?
So zum Beispiel, wenn dieOnGet()
Methode löst eine Ausnahme aus, fängt sie dann ab und wirft einnew HttpError()
?