RESTful規則は、単一のオブジェクトに対して複数の名詞を使用することを示しています。
すなわち、ASP.NET MVCコントローラに名前を付けるための複数形の規則は何である
ProductController
かはProductsController
?
RESTful規則は、単一のオブジェクトに対して複数の名詞を使用することを示しています。
すなわち、ASP.NET MVCコントローラに名前を付けるための複数形の規則は何である
ProductController
かはProductsController
?
回答:
一部のMVCフレームワークは複数形を使用しますが、MVCプロジェクトテンプレートにはAccountControllerというコントローラーが含まれているため、単数形の命名が提案されます。
それは問題ではありません。Asp.net MVCフレームワークのほとんどのものと同様に、選択はあなた次第です。実際の慣習はありません。
私の個人的な意見ですが、重要なのは、スキームを選択して一貫性を保つことです。
複数形または単数形を使用し、一貫性を保つという以前の回答に反対する必要があります。各コントローラーは、単一のエンティティと複数のエンティティのどちらと対話するかに基づいて、異なる規則を使用する必要があります。特に、コントローラー名はデフォルトでURLで使用されるためです。
プロジェクトテンプレートは単数(HomeController、AccountController)を使用しますが、ホームは1つだけであり、アカウントアクションはセッションの単一のアカウントでのみ機能します。/ homesのURLがホームページにアクセスすることも、/ accountsにアクセスしてアカウント設定を管理することも期待していません。
複数のHomesControllerは、複数の家の一覧表示と検索に関連するメソッドを持つ不動産Webサイト/ homes / new-listingsで機能します。
UsersController
ようにルートを設計する場合は意味があります/api/users
/api/users/{userId}
/api/user/{userId}
ただし、それほど意味はありませんが、複数のユーザーを処理する場合でも、コントローラーはエンティティタイプを反映しているため、HomeController
タイプのエンティティを処理するHome
ため/Home/{homeId}
、/Home/All-Homes/