私たちはRESTベースのサービスにServiceStackをしばらく使用してきましたが、これまでのところ驚くべきことです。
私たちのすべてのサービスは次のように書かれています:
public class MyRestService : RestService<RestServiceDto>
{
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ステータスの説明に「SomeMessage」というテキストが含まれます。
残りのサービスの一部は例外をスローし、他のサービスはスローしているので、new HttpError()
すべてのRESTサービスを変更せずに例外をキャッチしてスローする方法があるかどうか疑問に思いました。new HttpError()?
したがって、たとえば、OnGet()
メソッドが例外をスローした場合は、それをキャッチしてnew HttpError()
?をスローします。