2

一般来说,我对 Web 开发还很陌生。

为什么要实现 REST api?
使用包创建 RESTful API 接口有什么好处

我将 JSON 返回到移动设备,将 HTML 返回到浏览器,但我认为这不算you need to support multiple serializations (XML, YAML, Plists, or JSONP in addition to JSON)

并且列出的这些原因在短时间内对我来说都不会成为现实。
(我怀疑没有多少网站会因为这些原因而符合条件。)但是我看到很多关于 REST api 的 SO 问题。

这让我想知道 What would be the dominating reasons a web developer would start implementing REST API?

我想我的困惑是由于我对什么是 REST 缺乏了解。我读了似乎是最简单的关于什么是休息的介绍。
http://tomayko.com/writings/rest-to-my-wife
RESTful 编程到底是什么?

那么 REST 是什么?- 以下是我的理解。

您通过 URL 公开您的资源。(/user/3)
客户端可以对资源(URL)应用不同的动词(GET/POST/PUT/DELETE)来访问/操作资源。

我可以在不使用tastepie 或django-piston 的情况下做到这一点。(我使用django 作为我的web 框架)
这些包(一般来说,PHP、JAVA 等似乎有类似的包)给你买了什么?

简而言之,我很好奇,

  1. 当一个普通的 Web 开发人员需要关心 REST API 时?
  2. 因为 REST 是(什么)
4

2 回答 2

0

你是对的,REST 主要是关于正确使用 HTTP。在没有任何框架的情况下这样做和 RESTful 一样好。我认为 REST 的全部意义在于没有魔法,只有 HTTP。

框架/库可能会使您免于重新实现一些样板代码,并为您提供方便的方法。所以如果我是你,我不会完全排除它们。当您开始分解通用代码时,您最终可能会重新实现其中一个库:-)

例如,在一个已经使用 SpringMVC 的项目上,为 AJAX 请求添加一些 JSON REST 服务只是注释控制器的问题。

于 2013-01-07T13:11:34.060 回答
0

我可以在不使用tastepie 或django-piston 的情况下做到这一点。(我使用django 作为我的Web 框架)这些包(一般来说,PHP、JAVA 等似乎有类似的包)给你买了什么?

如果您使用 Django,我强烈建议您使用其中一种 API 框架。我建议您查看django-tastypiedjango-rest-framework,因为活塞现在似乎没有维护。

这不是绝对必要的,但它最终可能会为您节省大量时间,因为它们都包括对序列化、身份验证、权限、限制等等的各种有用的支持。如果您推出自己的 API,您最终可能会重复这些框架中的任何一个为您完成的大量工作。

它们还将通过为构建 Web API 提供正确的抽象来为您提供一个合理的结构来帮助您工作,因此您无需从第一原理开始考虑所有事情。

于 2013-01-09T14:24:38.057 回答