Я реализую веб-API REST. Я использую примеры из Pro ASP.NET MVC5 от Адама Фримена в качестве отправной точки, но приспосабливая его к способу веб-API.Проблемы с попыткой вернуть представление с помощью контроллера API
Ниже мой код:
public class AdminController : ApiController
{
private IUserRepository _repository;
public AdminController(IUserRepository repository)
{
_repository = repository;
}
public ActionResult Index()
{
return View(_repository.Users);
}
}
В книге AdminController
реализован Controller
не ApiController
, но если я это сделаю, то я получаю ошибки о так как нет никакого конструктора без параметров. Мне нужен конструктор, чтобы принимать параметры, чтобы я мог вставлять зависимости. Поэтому я перешел на ApiController
, но теперь он не узнает View
.
Что мне нужно использовать вместо View
для ApiController
?
Я нашел this question, но ответ был в основном «вам не нужно использовать ApiController здесь, просто используйте Controller», чтобы это не помогло мне.
[Разница между ApiController и контроллером в ASP.NET MVC] (http://stackoverflow.com/q/9494966/2974754) – Yuriy
Вы не возвращаются Просмотр из контроллера API. Но вы можете возвращать данные API с контроллера MVC. Решение было бы исправить ошибки, а не пытаться взломать контроллер API. Аргументы конструктора, безусловно, могут быть использованы в контроллерах для инъекции зависимостей. Возможно, вы неправильно подключили преобразователь зависимостей? – David
BTW вы можете вводить в 'ApiController' и' Controller', но вы хотите 'Controller' –