【发布时间】:2012-10-20 01:24:28
【问题描述】:
我们已经将 ServiceStack 用于基于 REST 的服务已经有一段时间了,到目前为止它已经很棒了。
我们所有的服务都写成:
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状态描述包含文本“Some Message”。
由于一些 REST 服务正在抛出异常,而另一些正在抛出 new HttpError(),我想知道是否有一种方法可以在不更改所有 REST 服务的情况下捕获任何异常并抛出 new HttpError()?
例如,如果OnGet() 方法抛出异常,那么捕获它并抛出new HttpError()?
【问题讨论】:
标签: servicestack