Web API-返回JSON对象以及HTTP状态

利奥波德·斯托奇

我有这个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?QzpcU291cmNlIENvZGVcV2ViXEZhc3R0cmFjayBBUElcRmFzdHRyYWNrIEFQSVxhcGlcc2FsZXNFbnF1aXJ5XDFc?=

X-Powered-by:ASP.NET

日期:2016年2月10日,星期三14:49:20 GMT

[{“数字”:1,“描述”:“ 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代理

谁能看到为什么这在localhost上可以正常工作,但在我的实时服务器上却不能正常工作吗?

维奥-穆拉特

似乎有一个应用程序层代理对响应有问题:

2016 14:52:13 GMT Connection: close X-ScanSafe-Error: F284 Via:

HTTP/1.1 proxy10012

看起来该代理正在阻止HttpResponse返回小提琴手。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Web API-返回JSON对象以及HTTP状态

来自分类Dev

Web API不会返回对象

来自分类Dev

Web Api返回扩展的键值对象,而不是原始的JSON对象

来自分类Dev

.NET Core Web API:返回带有内容类型应用程序/问题+json 的自定义 HTTP 状态代码

来自分类Dev

从Web API返回camelCased JSON

来自分类Dev

为什么$ http.get到Json(new MyComlexObject ...)Web api控制器返回对象Object?

来自分类Dev

Web API返回XML

来自分类Dev

Web API返回XML

来自分类Dev

Web Api Post ActionResult不返回对象

来自分类Dev

Web API HttpClient PutAsync返回Http 404

来自分类Dev

Web Api-如何返回带有201状态代码的动态对象

来自分类Dev

Web Api-如何返回带有201状态代码的动态对象

来自分类Dev

如何设置ASP.NET Web Api路由约束HTTP状态返回码

来自分类Dev

如何将HTTP状态代码从Web API中的方法返回给main?

来自分类Dev

如果业务规则失败,Web API应该返回什么http状态代码?

来自分类Dev

Web API错误处理返回json

来自分类Dev

从Web API中的通用列表返回Json

来自分类Dev

Web API默认应返回JSon

来自分类Dev

ASP .NET Web API返回JSON文件

来自分类Dev

Web API返回嵌套的JSON值

来自分类Dev

处理Web API返回的大型JSON数据

来自分类Dev

Web API返回空的json数组

来自分类Dev

Web API在JSON调用上返回XML

来自分类Dev

如何使Web API以所需的格式返回json?

来自分类Dev

解析从Sitecore Item Web API返回的JSON

来自分类Dev

ASP .NET Web API返回JSON文件

来自分类Dev

Web API中的异常处理并返回JSON

来自分类Dev

从 Web API 返回 JSON 作为响应

来自分类Dev

Web API以错误的格式发送JSON对象