为了账号安全,请及时绑定邮箱和手机立即绑定

Web API 路由以匹配命名空间

Web API 路由以匹配命名空间

C#
天涯尽头无女友 2023-06-25 14:26:30
我正在创建一个 Web API 供我工作地点的内部使用。我之前没有创建过 Web API。我想知道,是否可以将我的“WebApiConfig.cs”文件(我在其中处理默认路由)配置为默认控制器的命名空间路由?例如:CalendarDatesController.csnamespace SampleWebService.Controllers.CalendarServices {public class MilestoneDatesController : ApiController  {    public DateTime Get() {        return new DateTime();    }}}WebApiConfig.cs(默认)public static void Register(HttpConfiguration config)  {        // Web API configuration and services        // Web API routes        config.MapHttpAttributeRoutes();        config.Routes.MapHttpRoute(            name: "DefaultApi",            routeTemplate: "api/{controller}/{id}",            defaults: new { id = RouteParameter.Optional }        );    }WebApiConfig.cs(提案)public static void Register(HttpConfiguration config)  {        // Web API configuration and services        // Web API routes        config.MapHttpAttributeRoutes();        config.Routes.MapHttpRoute(            name: "DefaultApi",            routeTemplate: "api/{**CalendarServices**}/{controller}/{id}",            defaults: new { id = RouteParameter.Optional }        );    }在我的“提案”中,它将在路径中包含“CalendarServices”,但是,如果我创建另一个文件夹,我希望另一个文件夹位于它的位置。我只是希望它默认为 - api/ControllersParentFolder/Controller/id
查看完整描述

2 回答

?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

尽管本文基于版本控制,但您应该能够根据您的需要使用它。



查看完整回答
反对 回复 2023-06-25
?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

看看我在 Github 上的解决方案 ( WebApiNamespaceRouting )。

特征:

  • 不同命名空间中的相同控制器名称

  • 根据命名空间模式过滤路由中的控制器

  • 与招摇兼容


查看完整回答
反对 回复 2023-06-25
  • 2 回答
  • 0 关注
  • 98 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信