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,可以创建对应的视图模型。

 

转载于:https://www.cnblogs.com/dawenyang/p/webapi.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Web API中,控制器是用于处理客户端请求的主要组件之一。控制器是一个类,它包含了处理请求的动作方法。 控制器负责接收来自客户端的HTTP请求,并根据请求的方法(如GET、POST、PUT、DELETE等)和URL路径,调用相应的动作方法来执行业务逻辑。动作方法可以返回数据、执行数据库操作、生成响应等。 在Web API中,可以通过继承自ASP.NET Web API中的ApiController类来创建自定义的控制器控制器类通常以"Controller"结尾,并使用[Route]特性或[HttpGet]、[HttpPost]等特性来标记不同的动作方法。 例如,以下是一个简单的Web API控制器示例: ```C# public class UserController : ApiController { // GET api/user [HttpGet] [Route("api/user")] public IHttpActionResult GetAllUsers() { // 执行获取所有用户的逻辑 // 返回结果 } // GET api/user/{id} [HttpGet] [Route("api/user/{id}")] public IHttpActionResult GetUserById(int id) { // 根据id获取用户的逻辑 // 返回结果 } // POST api/user [HttpPost] [Route("api/user")] public IHttpActionResult CreateUser(User user) { // 创建用户的逻辑 // 返回结果 } // PUT api/user/{id} [HttpPut] [Route("api/user/{id}")] public IHttpActionResult UpdateUser(int id, User user) { // 更新用户的逻辑 // 返回结果 } // DELETE api/user/{id} [HttpDelete] [Route("api/user/{id}")] public IHttpActionResult DeleteUser(int id) { // 删除用户的逻辑 // 返回结果 } } ``` 在上述示例中,控制器名为UserController,包含了几个动作方法,分别对应不同的HTTP方法和URL路径。这些动作方法可以根据业务需求进行自定义,执行相应的逻辑操作,并返回适当的响应给客户端。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值