我在一家 IP 摄像机公司工作,我们目前有一个过时的 CGI HTTP API 接口(interface)。 CGI 是用 C 实现的。
我想学习并实现一个新的 HTTP RESTful API,以便可以执行以下类型的事情:
http://[ipaddr]/api/video/start
http://[ipaddr]/api/video/stop
我想在业余时间从头开始编写这个 RESTful API,这样我就可以学习这项新技能。
我在嵌入式 C 编程和 Web 技术前端(HTML、JS、CSS 等)方面非常有经验,但是,我想实现前端 Web UX 和应用程序代码(和/或 Web后端)。
我想要有关当前实现 HTTP API 的方法的建议。我真的很喜欢在开始之前学习做事的“正确方法”。
我发现我看到的所有东西,比如 OAuth、XAuth、REST、SOAP,实现语言有点让人不知所措!
Stack Overflow 上有没有人可以提供学习这些东西的明智途径?我非常善于自学,但只要在正确的方向上获得一些指导,我就可以做到。
我想尽我所能用 C 语言编写,因为那将是进入应用程序代码的最简单方法。但是,如果人们推荐另一种语言,如果有明确的优点,我很乐意接受。
最佳答案
为自己准备一份 Richardson 和 Ruby 的 RESTful Web Services (O'Reilly)。他们讨论了如何使用几种不同的技术设计和实现 RESTful 服务。它非常好,除了 RFC-2616 (HTTP 1.1) 和 Roy Fielding 关于 REST 的原始论文外,您几乎不需要任何其他东西。
有很多很棒的库可供构建(取决于您想直接学习的程度)。在 Java 世界中,Apache HTTP Client 库是一个很好的基础层。像 RESTlet 这样的 REST 框架可以为您自动完成其余大部分工作,使其相对简单。
关于api - 开始使用 RESTful HTTP API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6880064/