c# - 如何更改 ASP.NET Core API 中的默认 Controller 和操作?

标签 c# asp.net-web-api asp.net-core-2.0 asp.net-core-webapi

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

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

我的 Intro Controller 看起来像这样:

[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 Controller ,现在我收到 404 not found 错误。如果我随后手动导航到 /api/intro,我会得到 Intro Controller 内的 Get 操作提供的结果。我如何确保当 API 运行时(例如通过 Debug->Start Without Debugging)默认情况下它从 Intro Controller 获取 Get 操作?

最佳答案

您可以在 Properties 节点的 launchSettings.json 文件中更改它。应该有包含默认启动 url 的字段 launchUrl

关于c# - 如何更改 ASP.NET Core API 中的默认 Controller 和操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51233964/

相关文章:

c# - 为什么从 SplashScreen 到 MainPage 的导航顺序不正确

c# - LINQ 在列表中的位置

razor - AddRazorPagesOptions Conventions.AddPageRoute 中的野猫

asp.net-mvc - ASP.NET Core Tag Helper Checkbox 不保存未选中的值

c# - 找到正在调试我的进程的 Visual Studio 的 pid

c# - 创建新实例时使用类方法

c# - 在 ASP.NET Core 7 WebApi 中使用 RouteGroupBuilder 时如何获取路由组前缀

c# - 在 Web Api 中找到与请求匹配的多个操作

c# - 向 OData(v4) Web API C# 添加自定义分页

asp.net - 将 ASP.NET Core 应用程序部署到 IIS