我在mvc 4 beta中使用新的wep api并在我现有的mvc网站上添加了一些新的api控制器。问题是我无法将web api控制器命名为与现有控制器相同。现在我已经给了他们像ProductApiController这样的名字,但这并不是很像。将这些新控制器添加到现有mvc站点时,对这些新控制器进行名称设置的好策略是什么?
答案 0 :(得分:54)
问题是我无法将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
。