【问题标题】:Web API endpoint without resource没有资源的 Web API 端点
【发布时间】:2018-07-12 10:49:07
【问题描述】:

我希望我的 webapi 端点有一个没有资源的 Get 操作。

例如:http://localhost:56155/ 资源:api/program/get,这个动作我想在有人打的时候打

http://localhost:56155/ 在浏览器中。 这可能吗?

我在 webapiconfig.cs 中添加了这个

config.Routes.MapHttpRoute( 
     name: "DefaultApi", 
     routeTemplate: "api/{controller}/{action}/{id}", 
     defaults: new { controller = "Program", 
                     action = "Get", 
                     id = RouteParameter.Optional 
     } 
);`

但是当我启动应用程序时,它不会重定向或点击我的程序控制器的操作。

【问题讨论】:

  • 您的项目启动配置可能有误
  • 您使用的是 Asp.Net Core 还是 Asp.Net(在 .Net Framework 上?)。如果您使用的是 ASP.Net Core,您可以使用一个非常小的自定义中间件来实现这一点。
  • @Dan 我正在使用 .net 框架 4.6.2

标签: c# asp.net asp.net-web-api asp.net-web-api2


【解决方案1】:

您的 routeTemplate routeTemplate: "api/{controller}/{action}/{id}" 中有强制段 api。只需删除此段,该路由将使用空 url routeTemplate: "{controller}/{action}/{id}".

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-03
    • 2013-05-06
    相关资源
    最近更新 更多