【发布时间】:2013-03-20 03:55:54
【问题描述】:
我有简单的服务堆栈 Web 服务,它以名称作为输入参数。从this thread,我了解到使用新 API 时不再需要 ResponseStatus 属性。但是,当我尝试使用 fiddler 编写没有名称的请求时,它按预期返回 400 响应代码,但不包含有关异常的任何信息。那么,新 API 是否提供了开箱即用的错误描述,尤其是对于非 .NET 客户端。如果没有,是否有可能提供此信息。
public object Any(CustomerRequest request)
{
if (request.Name == null)
{
throw new ArgumentException("Name is required");
}
var objCustomer = //get customer from DB
return objCustomer;
}
public class CustomerRequest
{
public string Name {get;set;}
public bool IsActive {get;set;}
}
【问题讨论】:
-
你的服务类继承自什么?
-
类 CustomerService : 服务
-
我根据问题中的信息写了一个快速测试项目。我在正文中收到 400 http 代码和错误响应。 500 错误是针对内部服务器错误,所以我认为您的测试项目中可能存在错误。
-
使用提琴手作曲家或 Firefox 我得到 JSON 对象:
{"ResponseStatus":{"ErrorCode":"ArgumentException","Message":"Name is required","Errors":[]}}。为简洁起见,我禁用了堆栈跟踪。 -
这里还有测试代码的链接pastebin.com/vqZSRs2n
标签: exception-handling error-handling servicestack