如何编写 REST API?

2022-08-30 08:16:00

我正在编写一个iPhone应用程序作为业余爱好项目,它需要一个Web服务来为它提供数据。这与我在工作中所做的没有太大区别,但在工作中我只编写视图和控制器。其他人负责编写模型,通常客户端提供 Web 服务。

我以前做过一些Web编程,当时每个人都在使用MySQL和PHP,所以我的技能有点过时了,但我相信我能够使用我已经知道的技术来吸引它。但是,我不想浪费时间使用过时的工具。我已经发现,最先进的技术是编写一个REST API。我在想,应该有一些相当不错的框架,只要你定义了一个模型,它们就会给你一个具有CRUD功能的REST API。

我想我的问题是:启动并运行REST API的最快方法是什么?我真的只想专注于编写iPhone应用程序,而不是花太多时间在这个API上。如果我也可以获得Web管理和修订历史记录,那就太好了。我还应该补充一点,API不应该是公开的,所以对身份验证的支持也会很棒。

只是要清楚。我不介意PHP框架。事实上,它可能会更好,因为我知道我目前的托管支持它。


答案 1

编辑:

下面的链接显然已经好3年了,现在已经不再工作了,所以我去找了几个新的教程,我认为这些教程会持续一段时间。这些都在Ray Wenderlich网站上,这是一个非常受人尊敬的ios开发教程网站。第一篇文章实际上引用了下面的断开链接,但它本身是完整的:

如何为 iOS 应用编写简单的 PHP/MySQL Web 服务

第二个有一点扭曲。它在后端和AFNetworking上使用 parse.com。两者都非常出色。

如何将核心数据与 Web 服务同步 – 第 1 部分


我已经通过在回溯机器中查找文章来修复下面的断开链接。人们似乎喜欢这些链接,所以我会保留它们。上面的链接应该提供更多的思考。


我正在用我的iPhone应用程序做完全相同的事情。我发现了一篇关于在PHP中构建RESTful API的文章:

https://web.archive.org/web/20130910164802/http://www.gen-x-design.com/archives/create-a-rest-api-with-php/

这里还有一篇后续文章:

https://web.archive.org/web/20130323001500/http://www.gen-x-design.com/archives/making-restful-requests-in-php/

在文章底部有一个源代码的链接。


答案 2

我使用Zend_Rest_Controller在ZEND Framework中编程了一个REST API,在iPhone上我使用了ASIHTTPRequest。我的经验都很好。一开始,我在设置ZEND并将其连接到mySQL时遇到了一些麻烦,但是一旦我弄清楚了如何做到这一点,我就能够非常快速地编写API。如果您有任何其他问题,我可以与您分享更多信息。

编辑:似乎没有关于的官方文档。此链接介绍如何使用它来创建 API。您只需在子类中禁用呈现,并为每个 REST 调用实现方法。Zend_Rest_Controllerinit()


推荐