我需要REST API包吗?

时间:2013-01-07 11:33:54

标签: api http rest definition

我对Web开发一般都很陌生。

为什么要实现REST api?
Whats the advantage of using a package to create a RESTful API interface

我将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
What exactly is RESTful programming?

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

  

您按URL公开资源。 (/用户/ 3)
   客户可以申请   不同的动词(GET / POST / PUT / DELETE)到资源(URL)   访问/操纵资源。

我可以不使用tastypie或django-piston来做到这一点。(我使用django作为我的web框架)
这些包(通常,似乎有类似的PHP,JAVA等包)买什么?

简而言之,我很好奇,

  1. 当常规Web开发人员需要关心REST API时?
  2. 因为REST是(what)

2 个答案:

答案 0 :(得分:0)

你是对的,REST主要是关于正确使用HTTP。没有任何框架这样做就像RESTful一样好。我认为REST的整个是没有魔法,只有HTTP。

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

例如,在已经使用SpringMVC的项目中,为AJAX请求添加一些JSON REST服务只需要注释控制器。

答案 1 :(得分:0)

  

我可以不使用tastypie或django-piston来做到这一点。(我使用django作为我的web框架)   这些包(一般来说,似乎有类似的PHP,JAVA等包)会给你带来什么?

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

这不是绝对必要的,但最终可能会为您节省大量时间,因为它们都包含对序列化,身份验证,权限,限制等各种有用的支持。如果你推出自己的API,很可能你最终会复制这些框架为你做的大部分工作。

他们还可以通过为构建Web API提供正确的抽象来为您提供合理的结构,因此您无需从最初的原则考虑所有内容。