美文网首页微信小程序
7-11 RESTful API简介及调用豆瓣API

7-11 RESTful API简介及调用豆瓣API

作者: 留白_汉服vs插画 | 来源:发表于2017-11-24 23:46 被阅读359次

    本节学习怎么从服务器加载数据。

    JS中调用的基本都是RESTFul API接口,推荐JSON,虽然网页文件流都可以。SOAP用的很少了,企业级还用,互联网基本都是RESTFul了。

    没有自己服务器的情况下,最好还是使用开放的API调用数据,填充小程序。RESTFul API其实就是一个url,只不过是一个语义化的URL,没什么特殊的。和访问慕课网官网拿到的数据一样,只不过RESTFul API更偏向于获取业务数据。但是访问网址的时候,拿到的是一个HTML数据。当然可以用RESTFul API获取一个HTML数据,调用RESTFul API时候,会设置content type,可以自己设置,一个application,xml也可以是其他流媒体。

    微博,豆瓣都可以。

    看一下快速入门介绍

    这就是接口调用的地址

    不像是方法调用,这里就是一个http请求,豆瓣是https。下面是返回值,数据的结果。

    返回值为json:

    这个东东就是跟本地数据库一毛一样哦。以后就可以不用本地数据啦,哈哈哈。

    本质没区别,只不过是要用网络调用。

    RESTFul API接口一个好处:URL是可以自描述的。就是一看就知道是什么意思。

    比如 :https://api.douban.com/v2/book/1220562  

    网址 版本号 图书 id 一看就知道是要获取这个图书的信息。

    比如github的RESTFul API 就是很好的。接口是很容易实现的,难的是粒度。因为服务器的API编写之后,希望接口越细越好。如果是针对业务写的,那么业务一变,基本废了,但是如果接口粒度足够小,业务变了,可以从小的粒度接口组合起来,满足新的接口。实际编写接口还是要在具体业务,看接口细化到哪里。

    另外一个决定api好坏的,就是看api的语义化,能不能一看就知道什么意思。

    下面看怎么从 小程序里面访问豆瓣的API,先写一个简单示例:

    比如在movies.wxml中onLoad中调用一下。小程序里发起网络请求用Request

    提交数据时候,才会用9行data。10不同方法,不同操作,一般用get,开放的api,不太可能让你提交数据。

    比如豆瓣电影TOP250,看一下提供的api

    8行的url就写https://api.douban.com/  然后加这里的/v2/movie/top250。这个路径就非常清晰了啊。成功的话,输出res,失败了输出failed。运行后有错误,一般参数有错误。

    为什么返回的是错误信息,却还是输出了res?这个地方确实Request还是执行成功了。请求参数是错误的,但是请求是发送成功了。只有网断了,请求超时的时候,会走fail。小程序的网络请求根本没有建立成功。访问接口都没哟成功。本例请求是建立成功了。多尝试,有问题多尝试,经验帮助快速解决问题。接下来设置header的content-type:"application/xml" 不能写application/json。建议写ontent-type:"json"。

    前端的缓存和优化对于减少服务器的压力来说非常重要,所以一定要了解http等知识。

    相关文章

      网友评论

        本文标题:7-11 RESTful API简介及调用豆瓣API

        本文链接:https://www.haomeiwen.com/subject/lqvfbxtx.html