国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁(yè) web前端 js教程 學(xué)習(xí) JavaScript 中的 REST API

學(xué)習(xí) JavaScript 中的 REST API

Jan 08, 2025 am 07:09 AM

學(xué)習(xí) JavaScript 中的 REST API

REST API(表述性狀態(tài)傳輸應(yīng)用程式介面)廣泛用於建立網(wǎng)路應(yīng)用程式。本文將協(xié)助您了解如何在 JavaScript 中使用 REST API,涵蓋客戶(hù)端和伺服器端實(shí)作。


1.什麼是 REST API?

REST API 允許客戶(hù)端(例如瀏覽器或行動(dòng)應(yīng)用程式)與伺服器通訊以取得或操作資料。它遵循使用標(biāo)準(zhǔn) HTTP 方法的無(wú)狀態(tài)架構(gòu)。

核心概念

  1. 資源:由端點(diǎn)表示(例如,/users 表示使用者資料)。
  2. HTTP 方法
    • GET:檢索資料。
    • POST:建立一個(gè)新資源。
    • PUT:更新現(xiàn)有資源。
    • 刪除:刪除資源。
  3. 資料格式:JSON通常用於交換資料。
  4. HTTP 狀態(tài)碼
    • 200 OK:成功。
    • 201 已建立:資源已建立。
    • 400 Bad Request:客戶(hù)端錯(cuò)誤。
    • 404 Not Found:找不到資源。
    • 500 內(nèi)部伺服器錯(cuò)誤:伺服器問(wèn)題。

2.工具與設(shè)定

  • 對(duì)於客戶(hù)端

    • 瀏覽器(有 fetch 或 axios 函式庫(kù)的 JavaScript)。
    • 使用 https://jsonplaceholder.typicode.com 等 API 進(jìn)行練習(xí)。
  • 對(duì)於伺服器端

    • 安裝 Node.js 並使用 Express 框架。

3.在客戶(hù)端使用 REST API

JavaScript 提供了 fetch() API 和 axios 等第三方函式庫(kù)來(lái)與 REST API 進(jìn)行互動(dòng)。


使用 fetch() 取得資料

以下是如何從 REST API 檢索資料。

// Fetch data from an API
const fetchUsers = async () => {
  try {
    const response = await fetch('https://jsonplaceholder.typicode.com/users');
    if (!response.ok) {
      throw new Error(`HTTP error! Status: ${response.status}`);
    }
    const users = await response.json(); // Parse JSON data
    console.log(users);
  } catch (error) {
    console.error('Error fetching users:', error);
  }
};

fetchUsers();
說(shuō)明:
  1. fetch(url): 發(fā)出 HTTP 請(qǐng)求。
  2. response.json():將回應(yīng)轉(zhuǎn)換為 JSON 格式。
  3. 錯(cuò)誤的處理是使用 try...catch 來(lái)擷取網(wǎng)路錯(cuò)誤或無(wú)效回應(yīng)來(lái)實(shí)現(xiàn)。

使用 POST 傳送資料

要建立新資源,請(qǐng)使用 POST 方法和 fetch() API。

const createUser = async () => {
  try {
    const response = await fetch('https://jsonplaceholder.typicode.com/users', {
      method: 'POST', // HTTP method
      headers: {
        'Content-Type': 'application/json', // Specify JSON format
      },
      body: JSON.stringify({ // Convert JavaScript object to JSON
        name: 'Jane Doe',
        email: 'jane.doe@example.com',
      }),
    });

    const newUser = await response.json(); // Parse JSON response
    console.log(newUser);
  } catch (error) {
    console.error('Error creating user:', error);
  }
};

createUser();
重點(diǎn):
  • method 選項(xiàng)指定 HTTP 方法。
  • 標(biāo)題選項(xiàng)用於指示內(nèi)容類(lèi)型。
  • 內(nèi)文包含 JSON 有效負(fù)荷。

4.在伺服器端建置 REST API

在後端,Node.js 和 Express 框架通常用於建立 REST API。

設(shè)定您的環(huán)境

  1. 安裝 Node.js:下載 Node.js。
  2. 初始化一個(gè)新項(xiàng)目:
// Fetch data from an API
const fetchUsers = async () => {
  try {
    const response = await fetch('https://jsonplaceholder.typicode.com/users');
    if (!response.ok) {
      throw new Error(`HTTP error! Status: ${response.status}`);
    }
    const users = await response.json(); // Parse JSON data
    console.log(users);
  } catch (error) {
    console.error('Error fetching users:', error);
  }
};

fetchUsers();

建立簡(jiǎn)單的 REST API

這是基本 REST API 伺服器的範(fàn)例。

const createUser = async () => {
  try {
    const response = await fetch('https://jsonplaceholder.typicode.com/users', {
      method: 'POST', // HTTP method
      headers: {
        'Content-Type': 'application/json', // Specify JSON format
      },
      body: JSON.stringify({ // Convert JavaScript object to JSON
        name: 'Jane Doe',
        email: 'jane.doe@example.com',
      }),
    });

    const newUser = await response.json(); // Parse JSON response
    console.log(newUser);
  } catch (error) {
    console.error('Error creating user:', error);
  }
};

createUser();
說(shuō)明:
  • 中間件:app.use(express.json()) 解析傳入的JSON 請(qǐng)求。
  • 路線
    • GET /users:取得所有使用者。
    • GET /users/:id:取得特定使用者。
    • POST /users:新增使用者。
    • PUT /users/:id:更新使用者詳細(xì)資料。
    • DELETE /users/:id:刪除使用者。

5.測(cè)試您的 REST API

您可以使用Postman等工具或curl等命令列實(shí)用程式來(lái)測(cè)試您的API。

使用郵差

  1. 從這裡安裝 Postman。
  2. 建立一個(gè)新請(qǐng)求:
    • GET http://localhost:3000/users:取得所有使用者。
    • POST http://localhost:3000/users:使用 JSON 正文新增使用者。

使用捲曲

   mkdir rest-api-demo
   cd rest-api-demo
   npm init -y
   npm install express

6. REST API 開(kāi)發(fā)最佳實(shí)務(wù)

  1. 使用有意義的端點(diǎn)名稱(chēng)(例如,/users 而不是 /data)。
  2. 驗(yàn)證使用者輸入以防止無(wú)效或有害資料。
  3. 遵循一致的 HTTP 狀態(tài)碼。
  4. 使用 Swagger 或 Postman 等工具記錄您的 API。

我的工作代碼倉(cāng)庫(kù)
Learning REST APIs in JavaScript

結(jié)論

REST API 是現(xiàn)代 Web 開(kāi)發(fā)的基石。透過(guò)學(xué)習(xí)在客戶(hù)端和伺服器端與 JavaScript 中的 REST API 進(jìn)行交互,您將獲得建置和整合應(yīng)用程式的強(qiáng)大技能。實(shí)踐是關(guān)鍵——從使用公共 API 開(kāi)始,然後使用 Node.js 和 Express 建立自己的 API。


歡迎就本指南的任何部分提出問(wèn)題或?qū)で蟪吻澹?

以上是學(xué)習(xí) JavaScript 中的 REST API的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開(kāi)發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

熱門(mén)話題

JavaScript與Java:您應(yīng)該學(xué)到哪種語(yǔ)言? JavaScript與Java:您應(yīng)該學(xué)到哪種語(yǔ)言? Jun 10, 2025 am 12:05 AM

javascriptisidealforwebdevelogment,whilejavasuitslarge-scaleapplicationsandandandroiddevelopment.1)javascriptexceleatingingingingingingingbeatingwebexperienceswebexperienceswebexperiencesandfull-stackdeevermentwithnode.js.2)

在JavaScript中使用哪些評(píng)論符號(hào):一個(gè)明確的解釋 在JavaScript中使用哪些評(píng)論符號(hào):一個(gè)明確的解釋 Jun 12, 2025 am 10:27 AM

在JavaScript中,選擇單行註釋?zhuān)?/)還是多行註釋?zhuān)?/)取決於註釋的目的和項(xiàng)目需求:1.使用單行註釋進(jìn)行快速、內(nèi)聯(lián)的解釋?zhuān)?.使用多行註釋進(jìn)行詳細(xì)的文檔說(shuō)明;3.保持註釋風(fēng)格的一致性;4.避免過(guò)度註釋?zhuān)?.確保註釋與代碼同步更新。選擇合適的註釋風(fēng)格有助於提高代碼的可讀性和可維護(hù)性。

JavaScript評(píng)論的最終指南:增強(qiáng)代碼清晰度 JavaScript評(píng)論的最終指南:增強(qiáng)代碼清晰度 Jun 11, 2025 am 12:04 AM

是的,javascriptcommentsarenectary和shouldshouldshouldseffectional.1)他們通過(guò)codeLogicAndIntentsgudedepleders,2)asevitalincomplexprojects,和3)handhanceClaritywithOutClutteringClutteringThecode。

Java vs. JavaScript:清除混亂 Java vs. JavaScript:清除混亂 Jun 20, 2025 am 12:27 AM

Java和JavaScript是不同的編程語(yǔ)言,各自適用於不同的應(yīng)用場(chǎng)景。 Java用於大型企業(yè)和移動(dòng)應(yīng)用開(kāi)發(fā),而JavaScript主要用於網(wǎng)頁(yè)開(kāi)發(fā)。

JavaScript評(píng)論:簡(jiǎn)短說(shuō)明 JavaScript評(píng)論:簡(jiǎn)短說(shuō)明 Jun 19, 2025 am 12:40 AM

JavascriptconcommentsenceenceEncorenceEnterential gransimenting,reading and guidingCodeeXecution.1)單inecommentsareusedforquickexplanations.2)多l(xiāng)inecommentsexplaincomplexlogicorprovideDocumentation.3)

掌握J(rèn)avaScript評(píng)論:綜合指南 掌握J(rèn)avaScript評(píng)論:綜合指南 Jun 14, 2025 am 12:11 AM

評(píng)論arecrucialinjavascriptformaintainingclarityclarityandfosteringCollaboration.1)heelpindebugging,登機(jī),andOnderStandingCodeeVolution.2)使用林格forquickexexplanations andmentmentsmmentsmmentsmments andmmentsfordeffordEffordEffordEffordEffordEffordEffordEffordEddeScriptions.3)bestcractices.3)bestcracticesincracticesinclud

JavaScript數(shù)據(jù)類(lèi)型:深度潛水 JavaScript數(shù)據(jù)類(lèi)型:深度潛水 Jun 13, 2025 am 12:10 AM

JavaScripthasseveralprimitivedatatypes:Number,String,Boolean,Undefined,Null,Symbol,andBigInt,andnon-primitivetypeslikeObjectandArray.Understandingtheseiscrucialforwritingefficient,bug-freecode:1)Numberusesa64-bitformat,leadingtofloating-pointissuesli

JavaScript與Java:開(kāi)發(fā)人員的全面比較 JavaScript與Java:開(kāi)發(fā)人員的全面比較 Jun 20, 2025 am 12:21 AM

JavaScriptIspreferredforredforwebdevelverment,而Javaisbetterforlarge-ScalebackendsystystemsandSandAndRoidApps.1)JavascriptexcelcelsincreatingInteractiveWebexperienceswebexperienceswithitswithitsdynamicnnamicnnamicnnamicnnamicnemicnemicnemicnemicnemicnemicnemicnemicnddommanipulation.2)

See all articles