我正在创建一个 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/