我正在尝试测试此方法:
public HttpResponseMessage Get()
{
Orders orders = new Orders();
var result = Request.CreateResponse(HttpStatusCode.OK, orders);
if (orders.DateOrder > DateTime.Now || orders.DateOrder == null)
{
result.Content = new StringContent(JsonConvert.SerializeObject(db.Orders.ToList()));
result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
}
return result;
}
但是我得到奇怪的空值而不是表中的值。如何解决?也许是因为我在MVC项目中使用Web API而不是创建新的Web API项目?我希望你能帮助我。
答案 0 :(得分:0)
我认为问题在于您设置了var result = Request.CreateResponse(HttpStatusCode.OK, orders);
为时过早。
orders是一个空对象,因此具有您从控制器获取的值。
只有在创建响应对象之后,您才能首先检查if
。