我想将大多数业务层方法暴露给Web API项目以允许更广泛的使用.
一个想法是每个资源有一个Web API控制器.
另一个想法是每个逻辑业务部分有一个控制器,并使用属性路由来公开相关方法.
我喜欢第二种方法,这会导致控制器减少.
没有每个资源一个控制器的缺点是什么?
附加信息:
此API将存在于Intranet中,并将为需要来自我们的2-3个主应用程序(ERP,工资单,条形码等)的数据的支持应用程序提供服务
此APi的资源是在业务层程序集中定义的业务实体.它们将是简单的对象和复杂的对象.例子:
库存物品
顾客
每个客户的项目
当前装载的轻拍
目前的生产数据
等等
例:
我想公开像GetCustomerListByArea
或的方法GetItemsListPerCategory
.
然后怎样呢?我应该创建另一个控制器还是使用自定义控制器操作和属性路由并将其放在现有控制器中?
一个包含更多信息的链接:
ASP.NET Web API中的REST与RPC?谁在乎; 它做到了.
非常好,相当古老,文章解释我的问题.但它实际上并没有更深入地说如何设计控制器.在地区?还是只是文件夹?