我有这个Web API函数,如果传入了无效数据,我希望使用它来返回错误。我通过使用Request.CreateResponse函数,并将错误代码和错误列表传递给它来执行此操作。
public HttpResponseMessage Post([FromBody]Lead leadToCreate)
{
// Code to validate the request, and populate errorList which is a List<Error> goes here
if (errorList.Count > 0)
{
// Return list of errors and 304 code
return Request.CreateResponse(HttpStatusCode.NotModified, errorList);
}
else
{
//Validated successfully.
return Request.CreateResponse(HttpStatusCode.Created);
}
}
Error类是:
public class Error
{
public int number;
public string description;
public string url;
}
当我在本地主机上使用Fiddler发出POST请求时,错误列表将作为JSON响应的一部分输出(请参阅最后一行):
HTTP / 1.1 304未修改
缓存控制:无缓存
语法:无快取
内容类型:application / json; 字符集= utf-8
过期:-1
服务器:Microsoft-IIS / 10.0
X-AspNet版本:4.0.30319
X源文件:=?UTF-8?B?
X-Powered-by:ASP.NET
日期:2016年2月10日,星期三14:49:20 GMT
[{“ number”:1,“ description”:“ PrivateIndividual.Gender必须有效。”,“ url”:“”}}]
我的问题是,发布到实时服务器后,尽管返回了正确的响应代码,但尽管使用了相同的请求数据,也不会输出错误列表:
HTTP / 1.1 304未修改
缓存控制:无缓存语法:无缓存内容类型:application / json; 字符集= utf-8
过期:-1服务器:Microsoft-IIS / 7.0
X-AspNet-版本:4.0.30319 X-Powered-由:ASP.NET日期:2月10日,星期三
2016 14:52:13 GMT连接:关闭X-ScanSafe-错误:F284通过:
HTTP / 1.1代理10012
谁能看到为什么这在localhost上可以正常工作,但在我的实时服务器上却不能正常工作吗?
似乎有一个应用程序层代理对响应有问题:
2016 14:52:13 GMT Connection: close X-ScanSafe-Error: F284 Via:
HTTP/1.1 proxy10012
看起来该代理正在阻止HttpResponse返回小提琴手。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句