如何为多个客户端构建api

时间:2013-12-16 08:46:05

标签: api

我们正在为客户建立一个api。我们在调用api方法时使用依赖注入来设置业务逻辑类和存储库类。

我们的情况是新客户端将使用我们的api服务,但他们的业务规则略有不同。我的问题是,处理自定义业务逻辑的最佳方法是什么。

我倾向于通过基于客户端的DI注入自定义业务逻辑(这可以通过检查特定于客户端的api密钥来完成)。

非常感谢。

1 个答案:

答案 0 :(得分:1)

是的,您可以使用接口作为业务逻辑的合同。

例如,客户特定类可以继承的IOrder:

  1. DefaultOrderProcess:IOrder
  2. Client1OrderProcess:IOrder
  3. Client2OrderProcess:IOrder
  4. 在容器中,您根据API密钥注册接口IOrder和要使用的特定具体类(例如Client1OrderProcess)。从那里开始,只需执行实例化具体类中定义的业务逻辑。