Ответ 1
Вам необходимо наследовать ваш контроллер от ApiConroller
- это то, где определены эти методы:
public class AccountController : ApiController
Я разрабатываю веб-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);
}
}
}
Хотя большая часть этого кода копируется из учебника здесь, Visual Studio жалуется, что " NotFound()
" и " Ok(account)
" не существуют в текущем контексте. Я обновил все пакеты NuGet до версии 5.1. 2+, и я все еще получаю эту ошибку.
Я провел некоторое исследование и обнаружил, что он работает для других людей...
Я был бы очень признателен, если бы кто-нибудь мог ответить рабочим решением! Спасибо.
Вам необходимо наследовать ваш контроллер от ApiConroller
- это то, где определены эти методы:
public class AccountController : ApiController