在Web API 2项目中混合使用REST和RPC逻辑

时间:2014-08-06 08:50:40

标签: c# rest asp.net-web-api rpc

使用web API 2和最近添加的Attribute Routing让我想到了为公司需求创建中央API应用程序。

但我的问题是纯REST方法在某种程度上限制了我们的企业数据交换需求。

所以在阅读THIS后,我决定采用混合方法:

让一些控制器作为纯REST,一些控制器作为RPC样式。

关于路由的文章中的一个好主意是(为RpcApi改了一点,添加{id}占位符)

routes.MapHttpRoute(
  name: "RestApi",
  routeTemplate: "api/{controller}/{id}",
  defaults: new { id = RouteParameter.Optional }
);

routes.MapHttpRoute(
  name: "RpcApi",
  routeTemplate: "services/{controller}/{action}/{id}",
  defaults: new { id = RouteParameter.Optional }
);

我需要决定并需要你的建议是:

REST和RPC样式之间的分离/域操作的分类

在我的Web API中创建2个区域会是一个很好的解决方案吗?一个用于RPC,一个用于REST?

但接下来我将如何对我的域名操作进行分类(一级)? (ERP,CRM,工资)。最初我认为这些是适当的领域。

另一个想法是通过控制器文件夹下的单独文件夹为控制器创建物理分离,但这意味着具有唯一的控制器名称,因为子文件夹与框架无关。

其他信息:

organising ASP.NET MVC/Web API projects

的有趣观点

有什么想法吗?

0 个答案:

没有答案