当前位置: 首页 > article >正文

使用Node.js与Express构建RESTful API

💖 博客主页:瑕疵的CSDN主页
💻 Gitee主页:瑕疵的gitee主页
🚀 文章专栏:《热点资讯》

使用Node.js与Express构建RESTful API

    • 1 引言
    • 2 Node.js与Express简介
    • 3 安装Node.js与Express
    • 4 创建Express项目
    • 5 创建API路由
    • 6 数据存储
    • 7 身份验证与授权
    • 8 错误处理
    • 9 部署应用
    • 10 测试API
    • 11 总结
    • 12 参考资料

1 引言

Node.js是一个开放源代码、跨平台的JavaScript运行环境,用于开发服务器端和网络应用。Express是Node.js的一个流行框架,它简化了构建Web应用和API的过程。本文将详细介绍如何使用Node.js与Express框架来构建一个RESTful API。
一张展示使用Node.js与Express构建RESTful API的流程图,包括安装Node.js与Express、创建Express项目、创建API路由、数据存储、身份验证与授权、错误处理以及部署应用等内容。

2 Node.js与Express简介

Node.js允许使用JavaScript编写服务器端代码,Express则为开发者提供了丰富的特性,如路由、中间件、错误处理等,使开发过程更加简单快捷。

3 安装Node.js与Express

首先,确保你的计算机上已安装了Node.js,然后安装Express。

npm install express

4 创建Express项目

使用Express创建一个新的项目。

node-rest-api/
├── package.json
├── package-lock.json
├── node_modules/
├── .gitignore
├── README.md
├── app.js
└── routes/
    └── api.js

编辑 app.js 文件来初始化Express应用。

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

app.use(express.json()); // 中间件解析JSON请求体

const PORT = process.env.PORT || 3000;

app.listen(PORT, () => {
    console.log(`Server running on port ${PORT}`);
});

5 创建API路由

创建一个API路由来处理HTTP请求。

// routes/api.js
const express = require('express');
const router = express.Router();

// GET 请求示例
router.get('/', (req, res) => {
    res.status(200).json({ message: 'Welcome to our API!' });
});

module.exports = router;

app.js 中使用这个路由。

const apiRoutes = require('./routes/api');

app.use('/api', apiRoutes);

6 数据存储

使用内存存储来模拟数据持久化。

let items = [
    { id: 1, name: 'Item One' },
    { id: 2, name: 'Item Two' },
];

router.get('/items', (req, res) => {
    res.json(items);
});

router.post('/items', (req, res) => {
    const newItem = req.body;
    items.push(newItem);
    res.status(201).json(newItem);
});

7 身份验证与授权

使用JSON Web Tokens (JWT)来进行身份验证。

npm install jsonwebtoken
// routes/api.js
const jwt = require('jsonwebtoken');
const secretKey = 'yourSecretKey';

function authenticateToken(req, res, next) {
    const authHeader = req.headers['authorization'];
    const token = authHeader && authHeader.split(' ')[1];
    if (token == null) return res.sendStatus(401);

    jwt.verify(token, secretKey, (err, user) => {
        if (err) return res.sendStatus(403);
        req.user = user;
        next();
    });
}

router.use(authenticateToken);

8 错误处理

添加错误处理中间件来捕获和处理错误。

app.use((err, req, res, next) => {
    console.error(err.stack);
    res.status(500).send('Something broke!');
});

9 部署应用

可以使用Heroku或其他云服务提供商来部署你的Node.js应用。

git push heroku master

10 测试API

使用Postman或curl命令来测试API。

curl --location --request POST 'http://localhost:3000/api/items' \
--header 'Content-Type: application/json' \
--data-raw '{"name":"NewItem"}'

11 总结

通过本文,我们介绍了如何使用Node.js与Express框架来构建RESTful API,包括安装Node.js与Express、创建Express项目、创建API路由、数据存储、身份验证与授权、错误处理以及部署应用。掌握了这些基础知识后,你可以开始构建自己的RESTful API了。

12 参考资料

  • [1] Express.js Documentation. (2024). Expressjs.com. Retrieved from [Express.js文档链接]

http://www.kler.cn/news/367067.html

相关文章:

  • 【2024最新】渗透测试工具大全(超详细),收藏这一篇就够了!
  • 以 6502 为例讲讲怎么阅读 CPU 电路图
  • 软考系统分析师知识点二四:错题集11-20
  • 腾讯云:数智教育专场-学习笔记
  • 【Linux学习】(5)软件包管理器yum|编辑器vim
  • 【每日一题】LeetCode - 盛最多水的容器
  • IntelliJ IDEA 设置数据库连接全局共享
  • ELK之路第一步——Elasticsearch集群的搭建以及踩坑记录
  • Noteexpress怎样给文献添加标签和删除标签
  • 【Spring MVC】响应结果和设置
  • LVS Nginx HAProxy的优缺点
  • NLP库——Spacy库教程
  • 创建 RpcThreadPoolUtil 工具类
  • 在 Kakarot ZkEVM 上使用 Starknet Scaffold 构建应用
  • 如何在轻量云服务器上搭建一个基本的开发环境
  • PostgreSQL 约束
  • SSL VPN调试思路及配置指南
  • 三国杀钓鱼自动化
  • 【人工智能-初级】第21章 线性代数与 AI:理解矩阵乘法和特征向量
  • java核心技术点都有哪些
  • C# Windows桌面应用打包指南
  • 算法的学习笔记—和为 S 的两个数字(牛客JZ57)
  • Linux基础命令:轻松掌握终端操作
  • 十一、数据库配置
  • CI/CD 流水线系统-开源框架Tekton
  • windows 上面交叉编译 适合arm架构上的linux内核系统的qt 版本,源码编译