我正在为我的网站开发一个Web API并遇到了问题。
目前,API应该返回指定用户的详细信息。
这是我的帐户控制器:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Http;
using System.Net;
using RoditRepoAPIV2.Models;
namespace RoditRepoAPIV2.Controllers
{
public class AccountController : Controller
{
Account[] products = new Account[]
{
//accounts will be added...
};
public IEnumerable<Account> GetAllAccounts()
{
return products;
}
public IHttpActionResult GetAccount(int id)
{
var account = products.FirstOrDefault((p) => p.Id == id);
if (account == null)
{
return NotFound();
}
return Ok(account);
}
}
}
虽然大部分代码是从教程here复制的,但Visual Studio却抱怨当前上下文中不存在“NotFound()
”和“Ok(account)
”。我已将所有的NuGet软件包更新到版本5.1.2+,但仍然出现此错误。
我做了一些研究,发现它似乎适合其他人......
如果有人能用一个有效的解决方案作出回应,我将不胜感激! 谢谢。
答案 0 :(得分:28)
您需要从ApiConroller
继承您的控制器 - 这是定义这些方法的地方:
public class AccountController : ApiController