これは簡単だと思いましたが、何かが足りません。Web APIルートをマッピングしていて、次のようにしたいと思います。
http://localhost:1234/api/myBlog/Articles
そしてこれがうまくいくと思った:
routes.MapRoute(
name: "BlogApi",
url: "api/myBlog/{controller}/{id}",
defaults: new { controller = "Articles", id = UrlParameter.Optional }
);
'myBlog'セグメントは、コントローラーまたはフォルダーではありません。URLの一部にしたいだけです。コントローラを使用してコントローラの下に「myBlog」という名前のフォルダを作成しようとしましたArticlesController
が、違いはありませんでした。常に404が見つかりません:「myBlog」という名前のコントローラーに一致するタイプが見つかりませんでした。
またhttp://localhost:1234/api/myBlog
、ルートのデフォルトのコントローラーがArticles
使用されていないので、これについても知りたいと思います。
次のことを行った場合にのみ、機能させることができます。
routes.MapRoute(
name: "BlogApi",
url: "api/Articles/{id}",
defaults: new { controller = "Articles", id = UrlParameter.Optional }
);
と電話:http://localhost:1234/api/Articles
ここで何が欠けていますか?ありがとう!