以前隻從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
什麼時候更新後續?
什麼時候更新後續?你好!謝謝關注
你好!謝謝關注,我們這幾天自己也在查找這方面的資料用于微信小程序開發,找到後會及時更新的,我現在就來找、來更新。