Я просматриваю новый app app в mvc 4 beta и добавляю несколько новых api-контроллеров на мой существующий сайт mvc. Проблема в том, что я не могу назвать контроллеры веб-api такими же, как мои существующие контроллеры. Пока я дал им имена, такие как ProductApiController, но это не очень нравится. Какова хорошая стратегия для присвоения имен новым контроллерам при добавлении их на существующий сайт mvc?
Смешать веб-api-контроллеры и контроллеры сайта
Ответ 1
Проблема в том, что я не могу назвать контроллеры web-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
соответственно для работы.