【问题标题】:Can't setup routing in .NET core Web-Api无法在 .NET 核心 Web-Api 中设置路由
【发布时间】:2019-09-19 14:50:48
【问题描述】:

我尝试制作一个通用的方法来做一些事情。但是我得到一个任何路线的 404,即使我硬编码 {controller}api/MyAwesomeController/img/{id}。我知道我做错了,请帮帮我。

附:我读过this 并尝试过。但我在这里

app.UseMvc(routes => {
    routes.MapRoute("media", "api/{controller}/img/{id}",
    defaults: new { controller = "Media", action = "Get" });
});

【问题讨论】:

  • 最好为web api做属性路由:docs.microsoft.com/en-us/aspnet/core/tutorials/…
  • 这是肯定的,但我所追求的是普遍性
  • @Dummy 请发布你的控制器
  • @Alexan 好的,我明白了,我会在一小时后尝试 attrs,现在是晚餐时间)将在之后发布结果

标签: c# asp.net-core asp.net-core-webapi


【解决方案1】:

好的。 [Route("{tableName}/img/{id}] Attribute 我的通用方法解决了我的问题。感谢 2 @Alexan 向我指出我已经知道答案并且心情愉快。

【讨论】:

    【解决方案2】:

    你应该像这样在你的控制器中映射

     [Route("api/[controller]")]
     [ApiController]
    

    您的中间件应该用作路由模板并添加一些自定义路由

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-09
      • 2019-10-25
      • 1970-01-01
      • 2016-08-03
      • 1970-01-01
      • 1970-01-01
      • 2017-11-18
      • 2017-03-01
      相关资源
      最近更新 更多