Je bricole le nouvel api wep dans mvc 4 bêta et ajoute quelques nouveaux contrôleurs api à mon site mvc existant. Le problème est que je ne peux pas nommer les contrôleurs d’API Web de la même manière que mes contrôleurs existants. Pour le moment je leur ai donné des noms comme ProductApiController mais ce n’est pas très reposant. Quelle est la bonne stratégie pour nommer ces nouveaux contrôleurs lors de leur ajout à un site MVC existant?
Réponse
Trop de publicités?Le problème est que je ne peux pas nommer les contrôleurs d’API Web de la même manière que mes contrôleurs existants.
Vous pouvez avoir vos contrôleurs API avec le même nom que vos contrôleurs existants. Il suffit de les mettre dans un espace de noms différent pour rendre le compilateur heureux.
Exemple:
namespace MyAppName.Controllers { public class ProductsController: Controller { public ActionResult Index() { var products = productsRepository.GetProducts(); return View(products); } } }
et le contrôleur API:
namespace MyAppName.Controllers.Api { public class ProductsController: ApiController { public IEnumerable<Product> Get() { return productsRepository.GetProducts(); } } }
et puis vous avez respectivement
/products
et/api/products
avec qui travailler.