我正在使用以下代码从过滤器(ActionFilterAttribute)向客户端发送错误消息。
catch (Exception)
{
var response = context.Request.CreateResponse(httpStatusCode.Unauthorized);
response.Content = new StringContent("User with api key is not valid");
context.Response = response;
}
但问题是它只以纯文本形式发出。我想把它作为当前格式化程序的格式发送。像json或xml一样。
我知道这是因为我正在使用StringContent()。但是我们如何使用自定义Error对象编写? 比如,以下任何一个都不起作用:
response.Content = new Error({Message = "User with api key is not valid"});
我们如何为此编写代码?提前谢谢。
答案 0 :(得分:8)
Ya,我找到了正确的写法语法。我们可以这样写:
catch (Exception)
{
var response = context.Request.CreateResponse(HttpStatusCode.NotFound,
new Error { Message = "User with api key is not valid"});
context.Response = response;
}