以前只从Drupal网站调用过外部的API数据,或者直接用Drupal的模块(例如DrupalGap)给外部提供json数据,我们自己对接口数据的了解不多,这段时间因为涉及到Drupal网站之间的数据调用、Drupal为外部提供通用的API接口、Drupal网站作为数据源来开发微信小程序等事情,让我们对API提供json数据了解更多,下面做一些笔记。
可以使用的模块:
- Views Datasource:让Views可以输出json, rdf, xhtml, xml等多种格式
- Services:让Drupal对外提供数据,具体请看《手册》
- Services Search:让Drupal搜索可以对外提供json数据
- Flag Service: 操作Flag的接口
- Services Contact: 操作留言的接口
- DrupalGap: Drupal与PhoneGap接口
- ...
各种访问网址:
结构为:http://<your_domain>/<your_endpoint_path>/<your_resource_path>,其中
- <your_domain>为网站域名
- <your_endpoint_path>为创建的的endpoint名称
- <your_resource_path>为资源名称(如果设置了alias则为设置的别名)
例如:http://my.server.com/drupalgap/comment(默认返回xml格式,如果xml格式允许的话),要想试用json格式则为http://my.server.com/drupalgap/comment.json。
可用的资源名及操作办法另外记录到《Drupal网站的Web Services调用》中。
http方法:
- HTTP GET:"retrieve" and "index"
- HTTP POST:"create"
- HTTP PUT:"update"
- HTTP DELETE:"delete"
关于CRUD、Actions、Targeted actions、Relationships的详细解释请看:Working with REST Server
node页面操作例子:
- http://my.server.com/drupalgap/node 获取页面列表,默认为xml格式
- http://my.server.com/drupalgap/node.xml 获取页面列表,指定为xml格式
- http://my.server.com/drupalgap/node.json 获取页面列表,指定为json格式
- http://my.server.com/drupalgap/node/1 获取页面1内容,默认为xml格式
- http://my.server.com/drupalgap/node/1.xml 获取页面1内容,指定为xml格式
- http://my.server.com/drupalgap/node/1.json 获取页面1内容,指定为json格式
搜索:
- 内容搜索:http://my.server.com/services/search_node/retrieve.json?keys=test
- 内容搜索(简要结果):http://my.server.com/services/search_node/retrieve.json?keys=test&simple=1
- 用户搜索:http://my.server.com/services/search_user/retrieve.json?keys=name
Views页面:可以自定义路径
评论2
什么时候更新后续?
什么时候更新后续?你好!谢谢关注
你好!谢谢关注,我们这几天自己也在查找这方面的资料用于微信小程序开发,找到后会及时更新的,我现在就来找、来更新。