科学は研究が解決策を見つけた後、問題が問題と呼ばれることはないかもしれないが、私は初心者だった、あなたが追加した生と死エンドポイントマッピングコントローラ、問題のネットコアではない発見したときに今日、私はキャリーにこの問題を置きますアウト。私の開発環境VS2019 +ネットコア3.1、問題を再現するためのプロセス:
空のプロジェクトを選択し、新しいWebコアプロジェクトを作成します。1.
2.新しいフォルダ「コントローラ」、右のフォルダを作成します - >コントローラ - - 追加>> APIコントローラ - 空 - >セット名「HomeController.cs」
3経路(「[コントローラー]」)]の変更ルーティング機能
文字列のテストを返し、このクラスのルーターにインデックス機能を追加4.
5.変更スタートアップクラスの設定機能:
オリジナルコード:
app.UseEndpoints(エンドポイント=> { endpoints.MapGet(" / "、非同期コンテキスト=> { のawait context.Response.WriteAsync(" Hello Worldの!" ); }); });
改訂コード:
app.UseEndpoints(エンドポイント=> { endpoints.MapControllerRoute(" デフォルト"、" {コントローラ=ホーム} / {アクション=ランキング} / {ID}?" ); });
プログラム表示404を実行します
その後にHomeController二つの特徴は、正常に動作し、削除することができます
その理由は、APIコントローラおよびMVCコントローラは同じではありません
MVCコントローラのアクションメソッドのURLの選択
HTTPリクエストメソッドのAPIのAPIコントローラを選択する異なる制御方法
コントローラによって使用される2つの方法が同じではない、それは使用と混同することはできません