使用JavaScript和Node.js构建简单的RESTful API

引言

本文将指导你如何使用JavaScript和Node.js的Express框架构建一个简单的RESTful API。我们将创建一个简单的用户管理系统,包括获取用户列表、添加新用户以及删除用户。

正文与代码演示

  1. 设置项目

    首先,创建一个新的项目文件夹,并在其中初始化一个新的Node.js项目。

    复制代码
    mkdir rest-api
    cd rest-api
    npm init -y
  2. 安装Express和body-parser

    接下来,我们需要安装Express框架和body-parser中间件。

    复制代码
    npm install express body-parser
  3. 创建Express应用

    现在,我们可以创建一个名为app.js的文件,并添加以下代码。

    复制代码
    const express = require('express');
    const bodyParser = require('body-parser');
    const app = express();
    const PORT = 3000;
    
    let users = [];
    
    app.use(bodyParser.json());
    
    app.get('/users', (req, res) => {
         
        res.json(users);
    });
    
    app.post('/users', (req, res) => {
         
        const newUser = req.body;
        users.push(newUser);
        res.status(201).json(newUser);
    });
    
    app.delete('/users/:id', (req, res) => {
         
        const {
          id } = req.params;
        users = users.filter(user => user.id !== parseInt(id));
        res.status(204).send();
    });
    
    app.listen(PORT, () => {
         
        console.log(`Server is running on port ${
           PORT}`);
    });
  4. 运行应用

    现在,我们可以运行这个Express应用。

    复制代码
    node app.js

    使用curl命令或Postman等工具访问http://localhost:3000/users(GET请求)、http://localhost:3000/users(POST请求,JSON数据{"id": 1, "name": "John Doe"})以及http://localhost:3000/users/:id(DELETE请求),你将看到相应的响应。

相关推荐
ssshooter1 天前
看完就懂 useSyncExternalStore
前端·javascript·react.js
Live000001 天前
在鸿蒙中使用 Repeat 渲染嵌套列表,修改内层列表的一个元素,页面不会更新
前端·javascript·react native
柳杉1 天前
使用Ai从零开发智慧水利态势感知大屏(开源)
前端·javascript·数据可视化
球球pick小樱花1 天前
游戏官网前端工具库:海内外案例解析
前端·javascript·css
喝水的长颈鹿1 天前
【大白话前端 02】网页从解析到绘制的全流程
前端·javascript
用户14536981458781 天前
VersionCheck.js - 让前端版本更新变得简单优雅
前端·javascript
codingWhat1 天前
整理「祖传」代码,就是在开发脚手架?
前端·javascript·node.js
码路飞1 天前
写了个 AI 聊天页面,被 5 种流式格式折腾了一整天 😭
javascript·python
Lee川1 天前
优雅进化的JavaScript:从ES6+新特性看现代前端开发范式
javascript·面试
ServBay1 天前
Node.js、Bun 与 Deno,2026 年后端运行时选择指南
node.js·deno·bun