RESTful Api还是直接访问?

时间:2013-09-04 17:28:52

标签: php mysql ajax rest web

我问这个问题是因为访问过的某些网站似乎正在使用RESTful API来访问数据,即使它在网站上也是如此...

例如:我的网站将有6页,其中5页使用数据库。但是,我也会为我的合作伙伴提供REST api ......

所以,问题是:

  

在我的网站上,最好是通过mysqli_query直接访问数据库,还是使用带有Ajax调用的RESTful API加载数据?

请注意:我将使用Zend Framework 2作为我的RESTful API,除非有人有更好的选择...我知道Node.js和PHP ...我能够写它在Ruby或其他什么东西,如果它对我更好...需要一个意见......

2 个答案:

答案 0 :(得分:1)

使用RESTful API。

REST的规范是我们使用HTTP方法,他称之为动词。(GET,POST,PUT,DELETE)。

直接请求会限制它,或者您最多使用两种方法(动词) - GET和POST。

为此你必须这样做:

GET /user/frederick/edit
GET /user/frederick/update
GET /user/frederick/delete
GET /user/new

使用RESTful API:

GET /user/frederick/
POST /user/new/
PUT /user/frederick/
DELETE /user/frederick/

答案 1 :(得分:1)

使用自己的API的好处是您不必编写重复的代码。例如,您可能有generate_for_restgenerate_for_server函数执行相同的操作,只是以不同的格式发出数据。尽可能多地重用自己的API是个好主意。

也就是说,我觉得网站会通过自己的RESTful API与自己沟通,这有点不寻常。这需要HTTP请求(尽管它应该非常快)并且数据转换两次。相反,拥有一个生成所需数据的API和一个将数据转换为格式的外观会更有意义。

例如,你可以有一个函数get_all_users。在内部,您可以使用get_all_users将结果作为可以立即使用的php数据结构获取。在响应HTTP请求的控制器中,您可以执行JSON转换,但是您不应该进行任何重复工作来获取内部或外部使用的数据。