首页 > 解决方案 > 没有资源的 Web API 端点

问题描述

我希望我的 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 
     } 
);`

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

标签: c#asp.netasp.net-web-apiasp.net-web-api2

解决方案


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


推荐阅读