什么是REST API(REST API的概念和示例)

今天我们来谈谈API是什么,以及为什么它在Web开发中的重要性。API(Application Programming Interface)代表应用程序编程接口,它允许一个程序与另一个程序通讯。

什么是REST API(REST API的概念和示例)

文章图片
现在有很多不同类型的api,但是当你听到别人谈论微信API或阿里API的时候,他们所谈论的是一个REST API。一个获取API代表代表性的状态转移,现在它不一定是这种情况,但通常REST API的工作方式与网站的工作原理基本相同,你从客户端发送请求到服务器,然后通过HTTP协议获得数据。
我们来看豆瓣API的例子:
什么是REST API(REST API的概念和示例)

文章图片
豆瓣API的访问URL为api.douban.com/v2/movie/in_theaters,REST API其中一个特点就是语义化,也就是通过文字知道内容,v2有可能是该API的版本,后面movie表示电影(豆瓣还有读书、音乐等其它栏目),in_theaters表示在上映的电影,所以整个URL的意思就是获取所有在上映的电影信息。
在下面你可以看到一大串很乱的字符串,但它实际上是JavaScript对象表示法或称为JSON格式数据,它是根据键值对组织的结构化数据,就像Excel电子表格使用键值对构造一样,你可以向JSON数组询问数据,比如你可以获取有多少关于“喜剧”的上映电影,所有现代编程语言都基本能够解释JSON字符串,JSON也是开发中常用的数据传输格式。
什么是REST API(REST API的概念和示例)

文章图片
同样我们可以继续添加详细的参数请求更精确的内容,不过现在我们可以看看国外的API实例,例如脸书。例如:
什么是REST API(REST API的概念和示例)

文章图片
请求数据失败,但是没有关系,下面的json字符串就是服务器的响应。现在我们添加查询参数q=name,like:
什么是REST API(REST API的概念和示例)

文章图片
【什么是REST API(REST API的概念和示例)】并且当我们刷新页面时,还是返回错误信息。但是若请求正常的话,你可以看到只返回了名称字段和喜欢的数量,在这里你只需要关注上面UR。因为这些参数已经过滤了数据。
什么是REST API(REST API的概念和示例)

文章图片
现在让我们看看另一个API示例,我认为这个示例非常酷,由Google地图提供,它允许你获取城市名称位置并将其转换为一组GPS坐标为comm/maps/api/geocode/City,所以如果你还记得我们刚才谈到的服务器,我们正在调用的是maps.google.com,然后是我们获取的特定资源,那就是Maps资源,然后是API资源,然后是地理代码资源,我们甚至添加了City作为资源,这是因为Google Maps API可以返回多种不同格式的数据,当你更改参数属性值,将可以获得另一个JSON响应数据。

    推荐阅读