如何在30分钟内用JavaScript编写REST API

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

引言:为什么用JavaScript实现REST API快速又简单



创建自己的REST API是理解后端开发的第一步。如果你已经熟悉JavaScript,半小时内就能编写出应用的服务端部分。本文将详细讲解如何使用Node.js和Express框架在JavaScript中编写REST API,我们将创建一个支持标准CRUD操作(创建、读取、更新、删除数据)的待办事项管理API。



本指南适合希望快速启动首个服务器并理解请求、路由和中间件工作原理的初学者。读完本文,你将拥有一个可在Postman或浏览器中测试的可运行API。



步骤 1:配置环境并安装依赖



开始编码前,请确保已安装Node.js(版本16或更高)。如未安装,请从官网下载。运行终端检查安装情况:



node -vnpm -v


现在创建项目文件夹并初始化:



mkdir my-apicd my-apinpm init -y


安装主要依赖——Express框架,它能极大简化HTTP操作:



npm install express


同时安装nodemon(可选),用于代码更改时自动重启服务器:



npm install --save-dev nodemon


在package.json文件中添加启动脚本:



"scripts": {  "start": "node index.js",  "dev": "nodemon index.js"}


步骤 2:创建基础服务器和首个路由



在项目根目录创建index.js文件。首先连接Express并在3000端口启动服务器:



const express = require('express');const app = express();const PORT = 3000;

// 解析JSON的中间件app.use(express.json());

// 测试路由app.get('/', (req, res) => { res.send('你好,世界!API工作正常。');});

app.listen(PORT, () => { console.log(`服务器运行在 http://localhost:${PORT}`);});


使用命令npm run dev(如果使用nodemon)或node index.js启动服务器。打开浏览器访问http://localhost:3000——你应能看到"你好,世界!API工作正常。"的消息。



恭喜!你刚刚用JavaScript编写了一个REST API。现在让我们添加真正的业务逻辑。



步骤 3:实现任务列表的CRUD操作



我们创建一个临时内存数据存储(对象数组)。在实际项目中你会连接数据库,但对于30分钟的课程来说,这已经足够。



let tasks = [  { id: 1, title: '学习Express', completed: false },  { id: 2, title: '编写API', completed: true }];

let nextId = 3;


现在实现四个主要路由:



GET /tasks — 获取所有任务

app.get('/tasks', (req, res) => {  res.json(tasks);});


POST /tasks — 创建新任务

app.post('/tasks', (req, res) => {  const { title } = req.body;  if (!title) {    return res.status(400).json({ error: '任务标题是必填项' });  }  const newTask = {    id: nextId++,    title,    completed: false  };  tasks.push(newTask);  res.status(201).json(newTask);});


PUT /tasks/:id — 更新任务

app.put('/tasks/:id', (req, res) => {  const id = parseInt(req.params.id);  const { title, completed } = req.body;  const task = tasks.find(t => t.id === id);  if (!task) {    return res.status(404).json({ error: '任务未找到' });  }  if (title !== undefined) task.title = title;  if (completed !== undefined) task.completed = completed;  res.json(task);});


DELETE /tasks/:id — 删除任务

app.delete('/tasks/:id', (req, res) => {  const id = parseInt(req.params.id);  const index = tasks.findIndex(t => t.id === id);  if (index === -1) {    return res.status(404).json({ error: '任务未找到' });  }  tasks.splice(index, 1);  res.status(204).send();});


步骤 4:测试API



现在你的API已准备好进行测试。你可以使用Postman、curl或任何其他HTTP请求发送工具。以下是一些示例:



// 获取所有任务GET http://localhost:3000/tasks

// 创建新任务POST http://localhost:3000/tasksContent-Type: application/json

{ "title": "测试API"}

// 更新任务PUT http://localhost:3000/tasks/1Content-Type: application/json

{ "completed": true}

// 删除任务DELETE http://localhost:3000/tasks/2


尝试发送不同请求,观察服务器如何响应。这是理解REST API实际工作方式的好方法。



结论:下一步做什么?



你刚刚在几分钟内就创建了一个功能完整的JavaScript REST API!这是进一步学习的坚实基础。以下是一些可以继续添加的功能建议:



  • 连接真实数据库(例如使用Mongoose连接MongoDB或使用Prisma连接PostgreSQL)
  • 使用Joi或express-validator等库添加数据验证
  • 实现用户认证(JWT令牌)
  • 为任务列表添加分页和排序功能
  • 使用Jest或Mocha编写自动化测试


现在你知道了如何用JavaScript编写REST API。这项技能对于创建全栈应用、微服务,甚至自动化日常任务都非常有用。祝你在开发之路上一帆风顺!

博客

书籍推荐