Проблема в том, что я не могу назвать контроллеры веб-API так же, как мои существующие контроллеры.
Ваши контроллеры API могут иметь то же имя, что и ваши существующие контроллеры.Просто поместите их в другое пространство имен, чтобы компилятор был доволен.
Пример:
namespace MyAppName.Controllers
{
public class ProductsController: Controller
{
public ActionResult Index()
{
var products = productsRepository.GetProducts();
return View(products);
}
}
}
и контроллер API:
namespace MyAppName.Controllers.Api
{
public class ProductsController: ApiController
{
public IEnumerable<Product> Get()
{
return productsRepository.GetProducts();
}
}
}
, и тогда у вас есть: /products
и /api/products
соответственно для работы.