webAPI 控制器(Controller)太多怎么办?

写过接口的同学都知道,接口会越来越多,那么控制器也会越来越多。这时候就需要根据某种业务或特性对controller进行分类然后建立文件夹。

我想到一个折中的方案:伪Areas!

在Areas文件夹下建立对应的文件夹,比如说用户相关的,建立一个Account文件夹

图中就是我创建的文件夹及对应的Controller,对应的方法:

看到我指定的路由值了

 

[Route("api/Account/Account/DemoMethod")]

 

[Route("api/XXX(Areas下对应分类的文件夹名称)/Account/DemoMethod")]

 

 

就是在api和controller之间加一层,就是areas下的文件夹的名字,这样就实现了所谓的“伪Areas”,这样也能解决另一个问题。

假如你其他的业务中也需要一个accountcontroller,那么这时候我的这种解决方案就可以满足你的需求。

其实这种方法也可以在项目根目录下的controller文件夹中实现,但是这样比较高大上嘛!

再有就是Areas文件夹不只有controller文件夹,还有model和view,可以创建对应的视图模型。

 

posted @   大稳·杨  阅读(4046)  评论(1编辑  收藏  举报
编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
历史上的今天:
2017-04-11 git中的忽略配置文件中没有忽略该文件,却提交不到服务器上。
点击右上角即可分享
微信分享提示