【问题标题】:Best practices for using Own API for client and server?为客户端和服务器使用自己的 API 的最佳实践?
【发布时间】:2013-07-04 19:43:19
【问题描述】:

我正在使用基于 MVC 的框架在 PHP 中创建一个应用程序。我正在为移动应用公开一个 Web API。

同样的移动界面也将在 Web 应用程序中创建。 所以

为了创建网页界面,我可以使用为移动应用创建的 API 与 HTTP 请求吗?

模型方法暴露了,我们可以使用模型而不是在同一个服务器调用和连接API吗?

最佳做法是什么?

【问题讨论】:

    标签: php database-design architecture


    【解决方案1】:

    这取决于,如果是你的内部产品,并且你是API的唯一用户,最好暴露函数库API。例如:addUser、deleteUser。

    如果您希望其他人使用 API 并创建一些应用程序(根据他们自己的需要使用不同的逻辑),请给他们基于模型的访问权限。据我所知,功能性 API 通常是创建和公开的。因为这种API节省了webservice调用的次数,并隐藏了它下面的逻辑。

    编辑

    如果你的意思是在内部调用 web 服务......理想的设计应该是......它们应该是由核心逻辑组成的委托方法,那么可以从您的 api 以及控制器调用该核心逻辑函数。在内部调用 web 服务将是不必要的性能开销。虽然您可以在小型应用程序中做到这一点,但这并不是一个好的解决方案。

    如果你的模型层包含业务逻辑,虽然理想情况下它应该是一个单独的层......那么你应该考虑使用模型。

    【讨论】:

    • 模型不会暴露。我正在使用控制器创建 API,并且还需要创建 Web 界面。那么对于创建该界面,这是最好的方法吗?如果我使用 API,在控制器中,我需要连接我自己的 API,它是同一个应用程序的一部分。
    • hmmm 在那种情况下......你的意思是在内部调用webservice......我的设计应该是这样的......它们应该是一个由核心逻辑组成的委托方法,然后是核心逻辑功能可以从您的 api 以及控制器调用。在内部调用 web 服务将是不必要的性能开销。虽然您可以在小型应用程序中做到这一点,但这并不是一个好的解决方案
    • 如果我这次正确理解了您的问题,请告诉我。如果是,将更新它以回答
    • 是的,在我们的应用程序中,模型包含整个业务级逻辑,并且由 API 使用。所以在 MVC 中,模型是可供控制器使用和共享的。
    • 理想的模型和业务层应该是分开的。在您的情况下,最好使用模型
    猜你喜欢
    • 1970-01-01
    • 2020-08-15
    • 2020-11-11
    • 2012-05-24
    • 2013-02-25
    • 1970-01-01
    • 1970-01-01
    • 2015-05-30
    • 2011-01-24
    相关资源
    最近更新 更多