Ich probiere gerade mit der neuen Web-API in MVC 4 Beta herum und füge einige neue API-Controller zu meiner bestehenden MVC-Website hinzu. Das Problem ist, dass ich die Web-API-Controller nicht gleich benennen kann wie meine bestehenden Controller. Im Moment habe ich ihnen Namen wie ProductApiController gegeben, aber das ist nicht sehr restlich. Welche ist eine gute Strategie für die Namensgebung dieser neuen Controller, wenn sie zu einer bestehenden MVC-Site hinzugefügt werden?
Antwort
Zu viele Anzeigen?Das Problem ist, dass ich die Web-API-Controller nicht gleich benennen kann wie meine vorhandenen Controller.
Sie könnten Ihre API-Controller mit dem gleichen Namen wie Ihre vorhandenen Controller haben. Platzieren Sie sie einfach in einem anderen Namespace, um den Compiler zufriedenzustellen.
Beispiel:
namespace MyAppName.Controllers
{
public class ProductsController: Controller
{
public ActionResult Index()
{
var products = productsRepository.GetProducts();
return View(products);
}
}
}
und der API-Controller:
namespace MyAppName.Controllers.Api
{
public class ProductsController: ApiController
{
public IEnumerable Get()
{
return productsRepository.GetProducts();
}
}
}
und dann haben Sie: /products
und /api/products
jeweils zur Verfügung.