什么是REST API?

REST(Representational State Transfer,表述性狀態轉移)是一種用于構建Web服務的架構風格。REST API通過URL表示資源(例如用戶或產品),并為每個資源定義一組操作(如創建、更新或刪除資源)。

REST API的一個關鍵特點是無狀態性,這意味著服務器不會在請求之間存儲任何關于客戶端的信息。每個客戶端請求都需要包含完成該請求所需的所有信息。

REST API通常使用以下HTTP方法來操作資源:

例如,向用戶資源的URL發送GET請求可以檢索用戶信息,而發送POST請求則可以創建新用戶。


在JavaScript中創建REST API

為了在JavaScript中創建REST API,我們可以使用Node.js及其流行的框架Express。Node.js提供了內置的Web服務器功能,而Express則簡化了HTTP請求和響應的處理。

準備工作

  1. 創建一個名為rest-api的目錄。
  2. 在目錄中運行以下命令初始化項目:
    npminit-y
  3. 安裝Express框架:
    npminstallexpress
  4. 創建一個名為index.js的文件,用于編寫代碼。

示例代碼

以下是一個使用Express創建簡單REST API的示例:

const express = require('express');
const app = express();
app.use(express.json());

let users = [
 { id: 1, name: 'Alice' },
 { id: 2, name: 'Bob' }
];

// 獲取用戶列表
app.get('/users', (req, res) => {
 res.json(users);
});

// 添加新用戶
app.post('/users', (req, res) => {
 const newUser = { id: users.length + 1, name: req.body.name };
 users.push(newUser);
 res.status(201).json(newUser);
});

// 啟動服務器
app.listen(3000, () => {
 console.log('Server is running on http://localhost:3000');
});

在上述代碼中,我們定義了一個用戶資源,并為其實現了兩個操作:獲取用戶列表(GET)和添加新用戶(POST)。通過調用app.listen方法,我們啟動了服務器。


添加更多功能

我們可以進一步擴展API,支持更新和刪除用戶資源。以下是更新后的代碼示例:

// 更新用戶
app.put('/users/:id', (req, res) => {
 const userId = parseInt(req.params.id);
 const userIndex = users.findIndex(user => user.id === userId);

 if (userIndex !== -1) {
 users[userIndex].name = req.body.name;
 res.json(users[userIndex]);
 } else {
 res.status(404).send('User not found');
 }
});

// 刪除用戶
app.delete('/users/:id', (req, res) => {
 const userId = parseInt(req.params.id);
 const userIndex = users.findIndex(user => user.id === userId);

 if (userIndex !== -1) {
 users.splice(userIndex, 1);
 res.status(204).send();
 } else {
 res.status(404).send('User not found');
 }
});

在上述代碼中:


測試API

要測試API,請按照以下步驟操作:

  1. 啟動服務器:
    nodeindex.js
  2. 在瀏覽器中訪問http://localhost:3000/users,查看用戶列表。
  3. 使用curl或Postman等工具測試其他API端點。例如:

結論

REST API是一種強大且靈活的Web服務構建方式。通過Node.js和Express框架,我們可以快速創建可擴展、易維護的REST API。在實際開發中,您還可以結合數據庫(如MongoDB)來存儲和管理數據,從而構建更復雜的應用程序。

如果您對如何使用MongoDB創建REST API感興趣,請留言告訴我們!


原文鏈接: https://javascripttoday.com/blog/build-a-rest-api-in-javascript/

上一篇:

介紹全新的Rust REST API客戶端庫

下一篇:

使用 Grape 在 Ruby on Rails 中構建 RESTful API
#你可能也喜歡這些API文章!

我們有何不同?

API服務商零注冊

多API并行試用

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

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

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

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

#AI深度推理大模型API

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

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