写过接口的同学都知道,接口会越来越多,那么控制器也会越来越多。这时候就需要根据某种业务或特性对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,可以创建对应的视图模型。