我正在编写一个MSMVC API来处理简单的用户注册。在API中,当传递给控制器的数据无效时,我想抛出异常。
public XmlResult RegisterByEmailAddress(UserModel model)
{
var errorResponse = new HttpResponseMessage(HttpStatusCode.BadRequest)
{
Content = new StringContent("Problem"),
ReasonPhrase = "Problem"
};
throw new HttpResponseException(errorResponse);
}
然而,无论我在异常中设置什么,客户端响应中只能看到500错误。我使用Visual Studio 2012,在本地IIS服务器上以调试模式运行API。
在Chrome Dev中实际看到的响应内容是:
方法:Get,状态:500内部服务器错误,类型text/html
是否有人知道可能的问题是什么?
errorResponse
对象传递给异常)。在调试中,这段代码是否被执行?也许可以发布更多控制器代码?还有从响应中获取的任何其他信息吗? - Simon C[HttpGet]
特性来装饰它。但这不是问题所在(否则会返回 405)。我想你还需要发送你的请求和路由信息。 - Simon C