使用Get()的简单ping控制器的属性路由不起作用

时间:2019-07-10 21:14:41

标签: c# asp.net-core routing asp.net-web-api-routing

我有一个简单的asp.net核心网络api,带有一个轻推控制器,可为Get请求返回true。 PingController.cs如下所示:

Hash

为什么导航到控制器[Route("api/[Controller]")] public class PingController : Controller { [HttpGet] public IActionResult Get() { return Ok(true); } } 返回404?

我在控制器和HttpMethod的顶部添加了路由以进行特定操作。我在这里想念或不明白的是什么?

当我在Startup.cs中添加(http://localhost:56103/api/Ping)时,控制器可以正常工作。 (这也使我感到困惑。) Startup.cs如下所示:

app.UseMvcWithDefaultRoute()

1 个答案:

答案 0 :(得分:3)

您需要在启动时添加UseMvc()UseMvcWithDefaultRoute()来定义路由。

UseMvcWithDefaultRoute将一个名为“ default”的默认路由添加到请求执行管道,并等于

app.UseMvc(routes =>
{
    routes.MapRoute(
        name: "default",
        template: "{controller=Home}/{action=Index}/{id?}");
});