具有共享代码逻辑的不同REST API


different REST API with shared code logic

我想设计几个不同的REST API,例如:

mobile.api.com - for mobile

client.api.com - for客户端

admin.api.com - for admin side

然而,这些API可能需要分离到不同的服务器并使用重用一些代码逻辑,因为它是同一个应用程序,但根据不同的平台处理输出。

我的问题是,如果可能的话,如何使这些不同的API使用相同的代码逻辑而不重复代码?

到目前为止,我想到的解决方案(嗯,不太合适)是创建一个公共API(相同的代码逻辑位于这里),每个API将卷曲到这个API(假设所有服务器在同一网络中)

如:如果请求用户详细信息(这对于每个API来说都是通用的),mobile.api.com或admin.api.com将卷曲到common.api.com以获取用户详细信息,如common.api.com/users/userA,然后处理输出。

我希望有更好的架构或解决方案。

谢谢

我认为只需要一个框架,例如Yii

创建模块应用

所有的基本登录将在默认模块,我们将有主模型控制器和其他模块将扩展这个类

在。htaccess文件中我们会写一些重定向

这正是我的机会。它也有其他的变体…