我是.net Web API的新手,我正在试图弄清楚如何通过调用我的数据库返回Get结果。我知道一切都在我的常规MVC页面中有效。但不确定如何从Web API控制器返回结果。我认为这就像用结果返回Json一样简单。这是我的代码:
// GET api/<controller>
public IEnumerable<string> Get()
{
using (var _db = new JobsDatabaseEntities())
{
var user = Env.CurrentUser;
var posts =
_db.JobPostings.Where(
j =>
j.City.Equals(user.City, StringComparison.OrdinalIgnoreCase) &&
j.Industry.ID == user.Industry.ID);
var result = new List<BusJobPost>();
foreach (var post in posts)
{
var p = new BusJobPost(post);
result.Add(p);
}
return Json(result);
}
}
答案 0 :(得分:0)
请访问此资源:Action Results in Web API 2。
您的案例在第四部分其他类型中描述(也适用于第一版Web API)。
在Web API中,您不会显式返回JSON结果。它实际上是由名为内容协商的过程完成的。您可以详细了解here [Content Negotiation in ASP.NET Web API]。
简要介绍其中的一部分:
Accept: application/json
(例如,如果您使用jquery ajax函数:dataType: 'json'
)因此,您应该从控制器操作返回result
变量,并满足一些条件以将响应序列化为JSON。