【发布时间】:2016-04-06 13:08:50
【问题描述】:
我有一个返回 json 对象的 Web API 项目。对象已正确填充,但是当调用应用程序接收到它们时,它们是空的。我怀疑这与 Json 被拒绝 GET 请求有关。
我的 API 控制器代码如下所示:
public IHttpActionResult GetThing(string id)
{
try
{
var model = new Thing(id);
var res = Json<Thing>(model);
return res;
}
catch
{
return NotFound();
}
}
此时“res”已正确填充。现在在另一端(客户端)我有:
internal static JsonResult GetThing(string thingId)
{
return GetTask<JsonResult>(string.Format(ThingUrl, thingId));
}
当我在这里检查 JsonObject 的值时,它是空的(数据为空),但我也注意到字段“JsonRequestBehavior”的值是“DenyGet”,我怀疑这是问题所在。
我的问题是,如何将 this 的值设置为“AllowGet”,以便可以使用填充的对象?我正在失去我剩下的一点头发!
【问题讨论】:
-
代替
return res;试试return Ok(res); -
确保您的模型具有 DataContract 和 DataMember 属性。
-
嗨,Kartikeya,我试过使用 Ok(res),但结果是一样的,客户端收到一个空对象。
标签: c# json asp.net-mvc asp.net-web-api