如何更改ASP.NET Core API中的默认控制器和操作?

tin*_*ker 7 c# asp.net-web-api asp.net-core-webapi asp.net-core-2.0

我正在创建一个ASP.NET Core API应用程序,当前,当创建一个新项目时,会有一个名为Values的控制器,默认情况下,API会在您运行时打开它.因此,我删除了该控制器并添加了一个名为Intro的新控制器,并在其中添加了一个名为Get的操作.在Startup.cs文件中,我有以下几行代码:

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

而我的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
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,当我运行API时,它默认尝试导航到/api/values,但由于我删除了值控制器,现在我得到404未找到错误.如果我手动然后导航到/api/intro,我将获得从Intro控制器内的Get操作提供的结果.如何在API运行时(例如通过Debug-> Start Without Debugging)确保默认情况下从Intro控制器获取Get操作?

Ale*_*bov 23

您可以launchSettings.jsonProperties节点中的文件中进行更改.应该有launchUrl包含默认启动网址的字段