使用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请求),你将看到相应的响应。

相关推荐
一粒黑子4 小时前
【实战解析】阿里开源 PageAgent:纯前端 GUI Agent,一行JS让网页支持自然语言操控
前端·javascript·开源
IT枫斗者4 小时前
前端部署后如何判断“页面是不是最新”?一套可落地的版本检测方案(适配 Vite/Vue/React/任意 SPA)
前端·javascript·vue.js·react.js·架构·bug
Beginner x_u5 小时前
链表专题:JS 实现原理与高频算法题总结
javascript·算法·链表
我叫汪枫5 小时前
在后台管理系统中,如何递归和选择保留的思路来过滤菜单
开发语言·javascript·node.js·ecmascript
_.Switch5 小时前
东方财富股票数据JS逆向:secids字段和AES加密实战
开发语言·前端·javascript·网络·爬虫·python·ecmascript
软件技术NINI5 小时前
webkit简介及工作流程
开发语言·前端·javascript·udp·ecmascript·webkit·yarn
Brendan_0015 小时前
JavaScript的Stomp.over
开发语言·javascript·ecmascript
念2345 小时前
f5 shape分析
开发语言·javascript·ecmascript
難釋懷5 小时前
Vue混入
前端·javascript·vue.js
苍穹之跃5 小时前
某量JS逆向
开发语言·javascript·ecmascript