33
我正在使用mvc 4 beta中的新wep api,並在我現有的mvc站點中添加一些新的api控制器。問題是我無法將web api控制器命名爲與我現有的控制器相同。現在我已經給了它們像ProductApiController這樣的名字,但這不是很休息。將這些新控制器添加到現有mvc站點時,對於這些新控制器的名稱命名策略是什麼?混合web api控制器和站點控制器
我正在使用mvc 4 beta中的新wep api,並在我現有的mvc站點中添加一些新的api控制器。問題是我無法將web api控制器命名爲與我現有的控制器相同。現在我已經給了它們像ProductApiController這樣的名字,但這不是很休息。將這些新控制器添加到現有mvc站點時,對於這些新控制器的名稱命名策略是什麼?混合web api控制器和站點控制器
問題是我無法命名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
分別與工作。
那麼我可以在控制器文件夾中添加一個api子文件夾,並在那裏添加api控制器? – terjetyl 2012-02-19 22:35:01
@TT,是的,這是一種可能性。 – 2012-02-19 22:36:15
或者一個Web api的區域更合適? – terjetyl 2012-02-19 22:39:20