内部与外部api方法

时间:2014-12-07 19:48:36

标签: asp.net api asp.net-web-api

我正在开发一个API并决定是否应该区分外部和内部调用。我想我会为内部和外部API使用相同的控制器类(例如:ProductsController.cs(处理产品资源)),使用不同的方法(作为不同的参数和不同的返回对象,以及不同的授权)消费。我认为如果我想改变内部的api而不想改变内部,这可能会成为维护的噩梦,并且不明显哪些是哪个。我想也许不同的控制器文件可能更容易维护,但我知道他们正在处理相同的资源,所以我正在进行内部斗争,这将是最好的方向。我也意识到改变api很可能会迫使内部和外部api发生变化,因此版本控制也会发挥作用。任何建议将不胜感激。

2 个答案:

答案 0 :(得分:1)

虽然他们都处理相同的资源,但他们的处理方式与你所说的完全不同,所以看起来ProductsController最终做了两件非常不同的事情。

对我而言,你需要将它们分开是非常明显的。

您可以将它们放在不同的namespaces,甚至不同的Areas中。如果您碰巧有一些共享逻辑,则可以在基类中使用它。

答案 1 :(得分:0)

您可以创建公共(外部)和私有(内部)文件夹,并在两者中都有一个Products控制器。它们可能是无关的或共享基类。