API和常规后端可以同时存在吗?

时间:2013-07-24 20:08:17

标签: api backend

我一直在关注后端和API一段时间。似乎有时开发人员会构建一个定期后端(比如像PHP这样的语言)来处理所有后端事务,有时开发人员会选择通过API构建他们的后端,然后使用他们自己的(可能还有其他)站点来从此API中提取数据。

我想知道这个:

假设我想使用像PHP这样的服务器脚本语言构建一个常规后端,我将使用它不仅渲染我的主网站,而且还允许我做其他服务器端脚本等。然后说我想要使用当前站点中的这些数据,并通过API调用使其可以访问我的另一个站点。是否可以在常规后端之上构建API?

如果答案是肯定的,那么实现这样的目标有多复杂?

您将拥有或已经使用哪些工具或设计策略(如果有)来实现这一目标?

1 个答案:

答案 0 :(得分:2)

这是一个老问题,但由于我在这里,我也可以为任何想知道的人提供答案。 Joe询问服务器端Web API与常规服务器端代码。

是的,你可以有一个"常规"后端和API后端同时存在。如果你的后端是PHP,你可以重构和扩展你的代码来处理API请求。

就像帕特里克埃文斯所说,API是后端。如果您的后端PHP代码与数据库通信以操作或检索数据,那么您可以将此视为API事务。每当您的后端收到请求,评估请求的/操作并返回响应时,它基本上就像API一样。

让我们说你拥有example.com,根目录中有一个index.php文件 - 所以当用户在他们的浏览器中请求example.com时,会处理这个index.php文件,服务给他们。现在,您可以设置此index.php文件来处理常规页面请求(即php脚本返回由浏览器呈现的html模板)和API调用。这可以像你想要的那样复杂或简单。

处理此问题的最佳方法是为呈现主要网页和API调用指定不同的路径。您可以通过以下方式设置路线......

example.com/index.php?route=api&data=users可以通过您的API代码处理'在index.php中返回包含数据库中所有用户列表的JSON响应,而example.com/index.php?route=home只返回您网站的主页。