我正在摆弄 mvc 4 beta 中的新 wep api,并将一些新的 api 控制器添加到我现有的 mvc 站点。问题是我无法将 web api 控制器命名为与现有控制器相同的名称。现在我已经给他们起了像 ProductApiController 这样的名字,但这不是很像 restlike。将这些新控制器添加到现有 mvc 站点时,命名这些新控制器的好策略是什么?
问问题
10168 次
1 回答
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
分别使用。
于 2012-02-19T22:20:34.897 回答