33 votes

Mélange de contrôleurs d'api web et de contrôleurs de site

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?

54voto

Darin Dimitrov Points 528142

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.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X