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操作?
归档时间: |
|
查看次数: |
6910 次 |
最近记录: |