![](/img/trans.png)
[英]How can I consume Amazon S3 JavaScript APIs with AngularJS 2?
[英]JavaScript: Learning how to “consume RESTful APIs”
我已经编写JS几年了,现在我正在学习更多。 看到很多雇主要求“REST API知识”或“体验消费RESTful服务”。
我知道AJAX的基础知识,包括原生JS和jQuery。 我在SO和网络上做了很多关于REST的工作。 关于如何使用JAVA,C#等在服务器端构建RESTful API似乎有大量信息,但关于如何使用JavaScript访问这些服务的信息很少。
以下是问题:
“消费RESTful服务”是另一种说“使用AJAX从服务器获取数据”的方式,还是完全不同的东西?
如果是别的什么,关于这个主题的一些好的教程在哪里?
一旦我掌握了基础知识,我在哪里可以找到网络上的RESTful API来使用?
“消费RESTful服务”是另一种说“使用AJAX从服务器获取数据”的方式,还是完全不同的东西?
不,完全没有,但您当然可以使用AJAX使用自己的REST API。 Ajax通常只是意味着xmlHttpRequest
,它本身就是一个Web浏览器概念。 RESTful API更像是一个服务接口。 在许多方面,它是一个Web服务,但没有SOAP的复杂性。
从本质上讲,REST是一种通过使用动词和名词来表达HTTP上的事务或查询的方法。 例如,要获取信息,请使用...等待... GET! 要放置信息,你使用PUT(或POST,下面的教程将解释差异)。 要删除某些内容,请使用DELETE。 它相当整洁。 它几乎像HTTP上的句子:
GET /users/123
DELETE /users/123
你可以猜出那些会做什么。
因为这些只是HTTP请求,所以通常可以使用AJAX来使用它们,但这并不是必需的。 实际上,我发现REST API对于将服务或数据公开给其他应用程序更有用,就像Web服务一样。
如果是别的什么,关于这个主题的一些好的教程在哪里?
由于两个原因,很难给出一个关于使用RESTful服务的好教程:
布雷特的回答提到了一些很好的教程。
这是一个SO答案,它显示了直接在Java中使用REST的方法: 如何在Java中使用REST
这是一个合理的教程,介绍如何使用Java中的JAX-RS API创建RESTful API,然后演示如何使用它: http : //www.mkyong.com/webservices/jax-rs/restfull-java-client-与Java的净网址/
我在Jersey的REST客户端也取得了很大的成功。 他们的REST(JAX-RS)服务器软件是一种皇家的痛苦(在我看来),但他们的客户端很漂亮。
我在去年春天用Java编写了一个简单的概念验证todo列表REST API,并且集成测试显示了Jersey客户端很好地使用API来进行测试。
我也是Unirest客户端的粉丝,它是一个REST客户端,翻译成几种具有类似界面的语言。 它们有Objective-C版本,Java版本,JavaScript / node.js版本,.NET版本等。
如果雇主正在寻找使用REST API的经验,他们可能需要五件事:
GET /resources
列出所有资源, POST /resources
来创建新资源, PUT /resources/x
来更新资源X等)? curl
非常精确地创建HTTP请求。 还有一个奖励,但大多数人都没有很好地掌握这一点(我很难理解其个人用途),是通过使用Accepts
标题进行版本控制的超媒体。
一旦我掌握了基础知识,我在哪里可以找到网络上的RESTful API来使用?
遍! 每个人都有一个! Twitter,Facebook,Twilio,Stripe,Google,Edmodo,亚马逊。 我可以永远继续下去。 在IaaS领域,Amazon Web Services和Rackspace Cloud都提供RESTful API来管理您的云基础架构。 例如,我可以向表示我的服务器集的URL发出HTTP POST请求,然后为我提供新的服务器(虚拟机)。
有很多甚至有中心服务可以帮助消费者找到API和供应商发布它们,例如Mashape和Mashery ,尽管后者似乎更关注提供商而不是消费者,从他们的网站来看。
我之前发布的github项目,带有我的概念验证,从Searchly和Twilio访问REST API,以便我可以搜索任务,当一个标记为完成时,再次向我发送一条短信,来自HTTP请求。 但是,我使用来自这些提供程序的客户端库而不是使用直接HTTP库来使代码更精简和更集中,而不必担心所有的HTTP管道。
为了您的目的,点击一个宁静的API将非常类似于通过常规AJAX与服务器交互。 不同之处在于此API将符合restful模型,其中各种类似CRUD的操作将符合REST使用特定HTTP谓词[GET,PUT,POST,DELETE]的特定模式以及引用实体的路径模型。
看一看:
http://www.restapitutorial.com/lessons/httpmethods.html
如果你想玩一个安静的API,那里有一些框架,你可以在几分钟内启动你。
我可能会为此使用Sinatra; 虽然有很多选择:
http://www.andrewhavens.com/posts/20/beginners-guide-to-creating-a-rest-api/
只是谷歌“restful api示例[您选择的服务器端语言];那里有很多材料。
在短期内,您将要探索如何使用restful API完成跨服务器端脚本,以及如何使用JSONP:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.