web-dev-qa-db-ja.com

ASP.NET Core APIでデフォルトのコントローラーとアクションを変更する方法は?

私はASP.NET Core APIアプリを作成していますが、現在、新しいプロジェクトを作成すると、Valuesという名前のコントローラーがあり、デフォルトでは、実行時にAPIによって開かれます。そこで、そのコントローラーを削除し、Introという名前の新しいコントローラーと、その中にGetという名前のアクションを追加しました。の中に Startup.csファイル、次のコード行があります。

app.UseMvc(opt =>
{
    opt.MapRoute("Default",
        "{controller=Intro}/{action=Get}/{id?}");
});

Introコントローラーは次のようになります。

[Produces("application/json")]
[Route("api/[controller]")]
[EnableCors("MyCorsPolicy")]
public class IntroController : Controller
{
    private readonly ILogger<IntroController> _logger;

    public IntroController(ILogger<IntroController> logger)
    {
        _logger = logger;
    }

    [HttpGet]
    public IActionResult Get()
    {
        // Partially removed for brevity
    }
}

ただし、APIを実行すると、デフォルトで/api/values、しかし、Valuesコントローラーを削除したため、404 not foundエラーが表示されます。手動で移動した場合は、/api/intro、Introコントローラー内のGetアクションから提供される結果を取得します。 APIの実行時(たとえば、Debug-> Start Without Debuggingを使用)、デフォルトでIntroコントローラーからGetアクションを取得することを確認するにはどうすればよいですか?

7
tinker

PropertiesノードのlaunchSettings.jsonファイルで変更できます。デフォルトの起動URLを含むフィールドlaunchUrlがあるはずです

22
Alex Riabov