以下是需要了解的有關 REST 客戶端的關鍵事項:

配置示例項目

如果您想使用實時數據來遵循這些示例,我們建議配置示例應用程序。如果您尚未在 DreamFactory 實例中安裝此應用程序,請單擊選項卡。在屏幕左側,單擊 Address Book For JavaScript 項目旁邊的 。滾動到屏幕底部并單擊 按鈕。這足以確保將應用程序示例數據集加載到您的 DreamFactory 實例中,但是,如果您想嘗試其他功能,您還需要完成上述項目中的其他一些配置步驟。

Address Book for JavaScriptAppsImportSelectImportREADME

無論哪種情況,都可以前往 API 文檔,選擇服務,然后向下滾動到以下終端節點:db

GET /db/_schema

您應該會看到以下屏幕截圖中描述的輸出:

如果 GET 請求成功執行,您應該會收到指示成功的響應 Code,以及架構中表的 JSON 表示形式。現在,一些示例數據可用,讓我們試驗一些 GET 請求。在我們的示例中,我們將使用以下 API 終端節點查詢表:200contact_info

GET https://localhost/api/v2/db/_table/contact_info

NodeJS REST API 示例

對于我們的第一個示例,我們將查看兩個簡單的 NodeJS 腳本。下面是本機 NodeJS HTTP GET 請求的示例。在您最喜歡的文本編輯器中,創建一個名為 并輸入以下代碼的新文件:rest.js

const https = require("https");
const options = {
"method": "GET",
"hostname": "example.com",
"port": 443,
"path": "/api/v2/db/_table/contact_info",
"headers": {
"x-dreamfactory-api-key": "YOUR_API_KEY",
"cache-control": "no-cache"
}
}const req = https.request(options, function(res) { var chunks = []; res.on("data", function (chunk) {
chunks.push(chunk);
}); res.on("end", function() {
var body = Buffer.concat(chunks);
console.log(body.toString());
});});
req.end()

更新 and 字段以反映與您的 DreamFactory 實例關聯的位置和分配的應用程序 API 密鑰后,保存更改并通過終端運行腳本:hostnamex-dreamfactory-api-key

$ node rest.js

現在應該返回了一大塊 JSON 數據。如果您想對其進行清理并更仔細地查看數據,可以將響應復制并粘貼到 JSONLint 中。)將數據粘貼到文本區域后,單擊 。這將完成兩項重要任務:Validate JSON

  1. 將 JSON 格式化為更易讀的內容。
  2. 驗證 JSON 的格式是否正確,如 JSON 規范所述。如果 JSON 由于任何原因無效,您將收到有關采取哪些步驟來正確設置 JSON 格式的提示。

對于一個簡單的 GET 調用來說,這個腳本感覺有點沉重。讓我們再次嘗試相同的調用,但這次我們將使用 ‘unirest’ 模塊。NPM 附帶 NodeJS,允許用戶安裝所謂的 Node 模塊。如果您打算在 DreamFactory 中運行任何自定義腳本服務或事件腳本,這個功能也會非常有用。讓我們使用 NPM 安裝 ‘unirest’ 模塊,打開一個 shell 并鍵入:

$ npm install -g unirest

該選項將全局安裝模塊。我們建議全局安裝 NodeJS 模塊,特別是如果您打算在服務器端腳本中使用它們。現在您已經安裝了該模塊,請打開文本編輯器并粘貼以下代碼:-gunirest

var unirest = require("unirest")
var req = unirest("GET", "https://example.com/api/v2/db/_table/contact_info")req.headers({
"cache-control": "no-cache",
"x-dreamfactory-api-key": "YOUR_API_KEY"
})
req.end(function (res) {
if (res.error) throw new Error(res.error)
console.log(res.body)
})

將腳本另存為并運行它,如下所示:resty.js

$ node resty.js

和之前一樣,您會收到一個詳細的 JSON 響應作為回報。但這一次,它用更簡潔的代碼就實現了,并且還帶來了格式化 JSON 的好處!

Python REST API 示例

也許NodeJS并不符合你的偏好,而python更符合。Python 使用該模塊使 REST 變得輕而易舉。讓我們使用 Python 包管理器 pip 安裝模塊。打開您的終端并執行:requestsrequests

$ pip install requests

現在模塊已安裝完畢,讓我們再次打開文本編輯器并輸入以下代碼:requests

import requests
url = "https://example.com/api/v2/db/_table/contact_info?limit=5"
headers = {
"cache-control": "no-cache",
"x-dreamfactory-api-key": "YOUR_API_KEY"
}
response = requests.request("GET", url, headers=headers)
print(response.text)

確認一切正確后,將文件另存為,然后再次導航到保存腳本的目錄并輸入:rest.py

$ python rest.py
{"resource":[{"id":1,"ordinal":0,"contact_id":1,"info_type":"home","phone":"500 555-
0162","email":"jon24@example.com","address":"3761 N. 14th
St","city":"MEDINA","state":"ND","zip":"58467","country":"USA"},
{"id":2,"ordinal":0,"contact_id":1,"info_type":"work","phone":"500 555-0110","email":"jon24@example.net",
"address":"2243 W St.","city":"MEDINA","state":"ND","zip":"58467","country":"USA"},...]}

與其他示例一樣,如果所有內容都已正確配置,您將在腳本輸出中看到返回的 JSON。

DreamFactory 平臺還支持使用 Python(版本 2 和 3)將業務邏輯添加到現有 API 端點,并創建新的獨立 API。您可以在 DreamFactory 入門指南中了解有關 DreamFactory 腳本功能的更多信息。

PHP REST API 示例

其他讀者可能希望使用 PHP 發送 HTTP API 請求。沒關系!可以返回到編輯器并輸入以下代碼:

<?php
$curl = curl_init();curl_setopt_array($curl, [
CURLOPT_URL => "https://example.com/api/v2/db/_table/contact_info?limit=5",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET"
]);
curl_setopt($curl, CURLOPT_HTTPHEADER, [
"cache-control: no-cache",
"X-DreamFactory-API-Key: YOUR_API_KEY"
]);
$response = curl_exec($curl);
$error = curl_error($curl);
curl_close($curl);
if ($error) {
echo "cURL error #:" . $error;
} else {
echo $response;
}

將文件另存為 并運行腳本,如下所示:rest.php

$ php rest.php
You can learn more about DreamFactory's scripting abilities in the Getting Started With DreamFactory guide.

Ruby REST API 示例

Ruby 擁有眾多的 HTTP 客戶端庫,我可以為您介紹幾個。在本節中,我們將介紹兩個。讓我們首先使用 Ruby 標準庫中內置的 which 進行調用。打開文本編輯器并粘貼以下代碼:net/http

require 'uri'
require 'net/http'
url = URI('https://example.com/api/v2/db/_table/contact_info?limit=5')
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request['X-DreamFactory-API-Key'] = 'YOUR_API_KEY'
request['cache-control'] = 'no-cache'response = http.request(request)
puts response.read_body

保存這些更改并執行腳本,如下所示:

$ ruby rest.rb

現在讓我們再試一次,不過這次我們將使用 Ruby gem。這個非常有用的 Ruby gem 聲稱“讓 http 再次變得有趣”,可以在命令行中交互式使用,也可以在 Ruby、Sinatra 和 Ruby on Rails 應用程序中使用。讓我們使用 Ruby 的包管理器來安裝 gem:httpartyhttparty

$ gem install httparty

安裝 Gem 后,打開編輯器并將以下代碼粘貼到名為 :httpartyrest2.rb

require 'httparty'
require 'json'

url = 'https://example.com/api/v2/db/_table/contact_info?limit=5'

headers = {
"X-DreamFactory-API-Key" => "YOUR_API_KEY",
"cache-control" => "no-cache"
}

response = HTTParty.get(url, :headers => headers)

json = JSON.parse(response.body)

puts response.body
puts response.message.to_json

保存文件并執行它,如下所示:

$ ruby rest2.rb

Perl REST API 示例

讓我們來看一個 Perl 示例。首先使用 Perl 的 CPAN 包管理器來安裝 Perl 模塊。打開您的終端并輸入以下命令:REST::Client

$ cpan

進入 cpan shell 后,執行以下命令:

install REST::Client

安裝完成后,退出shell,打開編輯器,并粘貼以下代碼:REST::Clientcpan

use REST::Client;

my $client = REST::Client->new();

$client->getUseragent()->ssl_opts(verify_hostname => 0);

$client->getUseragent()->ssl_opts(SSL_verify_mode => SSL_VERIFY_NONE);

$client->addHeader('X-DreamFactory-API-Key', 'YOUR_API_KEY');

$client->addHeader('cache-control', 'no-cache');

$client->GET("https://example.com/api/v2/db/_table/contact_info?limit=56");

print $client->responseContent();

保存文件并使用以下命令運行它:

<code>$ perl rest.pl</code>

REST API 客戶端測試工具

Insomnia

Insomnia 是一個出色的 API 測試工具,DreamFactory 團隊每天都會使用它來演示各種平臺功能。它可以通過 Insomnia 網站免費下載,付費版本(我們使用)允許團隊共享 API 調用庫。如下面的屏幕截圖所示,它非常易于使用。您將確定請求方法(GET、POST 等)、所需的 URL,并傳遞 API 密鑰。配置呼叫后,只需按下 Send 按鈕,請求結果就會出現在右側面板中。

失眠

Postman

與 Insomnia 一樣,Postman 也是一種非常流行的 API 測試工具,具有大量對 API 開發有用的附加功能。它的界面雖然不如 Somnia 那樣簡潔,但仍然十分易用。如下面的屏幕截圖所示。您將確定請求方法,設置 URL 和任何標頭,然后按 Send。結果將在底部窗格中輸出。

郵差

REST API 生成

DreamFactory 擅長為您的數據庫和服務自動生成 REST API 客戶端,從而顯著簡化開發過程。以下是它的工作原理:

連接到數據源

自動生成 API

自定義生成的 API

結論

太棒了!因此,您有 7 個快速簡單的示例,用于從 DreamFactory REST API 獲取和解析數據。您可能已經注意到的另一件事是,API 端點在每次客戶端調用中都被重復使用,而且無需編寫任何服務器端代碼,這真是太棒了!

“檢索 API 數據的 7 個簡單 REST 客戶端示例”的常見問題 (FAQ)
1. 什么是 REST 客戶端?

REST(表述性狀態傳輸)客戶端是用于發出 HTTP 請求并與 RESTful Web 服務交互的工具或庫。這些客戶端使開發人員能夠輕松執行 CRUD(創建、讀取、更新和刪除)操作、檢索 API 數據并根據需要對其進行操作。

2. 為什么在使用 API 時使用 REST 客戶端很重要?

使用 REST 客戶端可以屏蔽掉 HTTP 請求和響應的低級細節,讓我們能夠更輕松地與 API 進行交互。它們提供了一種更高效、用戶友好的方法來測試、調試 API 并將其集成到應用程序中,從而為開發人員節省時間和精力。

3. 有哪些流行的 REST 客戶端工具和庫?

一些流行的 REST 客戶端工具和庫包括:

4. 如何使用 REST 客戶端檢索 API 數據?

要使用 REST 客戶端檢索 API 數據,請執行以下步驟:

  1. 選擇適合您項目要求和語言的 REST 客戶端工具或庫。
  2. 設置 HTTP 方法(通常為 GET 用于檢索數據)并提供 API 端點 URL。
  3. 配置任何必需的標頭,例如 API 密鑰或身份驗證令牌。
  4. 發送請求并接收 API 響應。
  5. 根據需要解析和操作返回的數據。

5. REST 客戶端是否僅用于從 API 檢索數據?

不可以,REST 客戶端可用于各種 CRUD 操作,包括創建、更新和刪除數據。根據使用的 HTTP 方法(POST、PUT、PATCH 或 DELETE),REST 客戶端可以對 API 資源執行不同的操作。

6. 是否可以將 REST 客戶端用于非 RESTful 的 API?

雖然 REST 客戶端主要用于與 RESTful API 交互,但 Postman 和 Insomnia 等一些客戶端也可用于測試和調試非 RESTful API,例如 GraphQL 或基于 SOAP 的 Web 服務。

7. 如何確保我的 REST 客戶端代碼安全高效?

要確保您的 REST 客戶端代碼安全高效:

8.如何找到更多同類API?

冪簡集成是國內領先的API集成管理平臺,專注于為開發者提供全面、高效、易用的API集成解決方案。冪簡API平臺可以通過以下兩種方式找到所需API:通過關鍵詞搜索API、或者從API Hub分類頁進入尋找。

原文鏈接:https://blog.dreamfactory.com/7-simple-rest-client-examples-for-retrieving-api-data

上一篇:

通過API優化谷歌搜索:Serper使用指南

下一篇:

微博熱搜榜數據采集全攻略
#你可能也喜歡這些API文章!

我們有何不同?

API服務商零注冊

多API并行試用

數據驅動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內容創意新穎性、情感共鳴力、商業轉化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費