RESTful kuralları, tekil nesneler üzerinde çoğul isimlerin kullanılmasını belirtir.
ASP.NET MVC denetleyicilerini adlandırmak için çoğullaştırma kuralı nedir, yani
ProductController
veya ProductsController
?
RESTful kuralları, tekil nesneler üzerinde çoğul isimlerin kullanılmasını belirtir.
ASP.NET MVC denetleyicilerini adlandırmak için çoğullaştırma kuralı nedir, yani
ProductController
veya ProductsController
?
Yanıtlar:
Bazı MVC Çerçeveleri çoğulları kullanır, ancak MVC proje şablonları AccountController adlı bir denetleyici içerir, bu nedenle tekil adlandırma önerir.
Önemli değil. Asp.net MVC çerçevesindeki çoğu şeyde olduğu gibi, seçim sizin. Gerçek bir konvansiyon yok.
Bu benim kişisel görüşüm ama önemli olan bir plan seçip tutarlı olmanız!
Çoğul ya da tekil kullanma ve tutarlı olma gibi önceki cevaplara katılmamak zorunda kalacağım. Her denetleyici, tek veya birden çok varlıkla etkileşimde bulunmalarına bağlı olarak farklı bir kural kullanmalıdır. Özellikle de denetleyici adı varsayılan olarak URL'de kullanıldığından.
Proje şablonları tekil (HomeController, AccountController) kullanırken, yalnızca bir Ana Sayfa vardır ve Hesap eylemleri yalnızca oturum için tek bir hesapta çalışır. / Homes’un URL’lerinin ana sayfaya erişmesini veya hesap ayarlarımı yönetmek için / accounts adresine gitmeyi beklemem.
Çoğul HomesController , birden çok evi listelemek ve aramakla ilgili yöntemleri olan bir emlak web sitesi için çalışacaktı: / evler / yeni listeler.
UsersController
rotalarınızı /api/users
(tüm kullanıcılar) ve /api/users/{userId}
(tek kullanıcı)
/api/user/{userId}
sadece böylece, denetleyici varlık türünü yansıttığını, hatta birden fazla kullanıcı ile uğraşan durumunda olduğu iddia edilebilir, ama çok anlamda olarak yapmak HomeController
Çeşidi varlıkları ile anlaşma olacağını Home
dolayısıyla /Home/{homeId}
ve/Home/All-Homes/
Bir Entity Framework varlığı için MVC iskelesi kullanarak bir denetleyici eklediğinizde, VS2013 denetleyici adını çoğul yapar, bu nedenle varlıklar için denetleyicileri çoğul yapan varsayılanı kullanmanızı öneririm.
GÜNCELLEME: Fikrimi değiştirdim. LouD doğru. Denetleyicinin bağlamına bağlıdır.