我正在使用.NET MVC 4框架的Web API项目。我的API专注于返回JOSN对象,除了当我想以JSON格式返回异常时,它的工作方式非常完美。
我下面的代码是我用来尝试强制JSON返回的代码,但是从此代码生成的响应是默认的HTML内容类型。我正在寻找一种使用" application / json"返回异常的方法。内容类型。有什么建议吗?
public static void ThrowHttpException(HttpStatusCode code, string content)
{
string message = JsonConvert.SerializeObject(new { message = content });
var resp = new HttpResponseMessage(code)
{
Content = new StringContent(message),
ReasonPhrase = null
};
throw new HttpResponseException(resp);
}
答案 0 :(得分:1)
你应该创建这样的动作:
public IHttpActionResult ThrowHttpException(HttpStatusCode code, string content)
{
string message = JsonConvert.SerializeObject(new { message = content });
var resp = new HttpResponseMessage(code)
{
Content = new StringContent(message),
ReasonPhrase = null
};
return resp;
}
您应该从响应对象的操作返回而不是抛出异常。