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
ProductControllerveya 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
ProductControllerveya 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.
UsersControllerrotaları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ı Homedolayı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.