我正在尝试创建一个简单的web API。
我有数据进入控制器,但不能在JSON API中返回它。我认为问题出在返回IEnumerable字符串。
BLL:
public IEnumerable<DTO.Gettod> Gettods()
{
DAL.todDataController tdc = new DAL.todDataController();
return tdc.GetToddMobiles();
}型号:
public class TodViewModel
{
public IEnumerable<DTO.Gettod> ModelGetTod { get; set; }
}控制器:
public IEnumerable<string> Get()
{
BLL.todManager tm = new BLL.todManager();
Models.TodViewModel tvm = new Models.TodViewModel();
tvm.ModelGetTod = tm.Gettods().ToArray();
return tvm as IEnumerable<string>;
}JSON文件只返回一个数组,但我期望返回一个Null。
发布于 2019-08-02 21:06:50
尝试将您的控制器更改为以下设置:
编辑:将接受的答案更改为适合用户的答案
public IHttpActionResult GetToddData () {
BLL.todManager tm = new BLL.todManager ();
Models.TodViewModel tvm = new Models.TodViewModel ();
tvm.ModelGetTod = tm.Gettods ().ToList ();
//HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, tvm.ModelGetTod as IEnumerable<string>);
return Ok (tvm.ModelGetTod);
}另外,调试并查看是否在tvm.ModelGetTod属性中获得了预期的值。
发布于 2019-08-02 22:17:24
下面是正确的代码,归功于: Bruno在下面的答案中:
public IHttpActionResult GetToddData()
{
BLL.todManager tm = new BLL.todManager();
Models.TodViewModel tvm = new Models.TodViewModel();
tvm.ModelGetTod = tm.Gettods().ToList();
//HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, tvm.ModelGetTod as IEnumerable<string>);
return Ok(tvm.ModelGetTod);
}https://stackoverflow.com/questions/57326597
复制相似问题