使用Node编写服务器接口

devtools/2025/1/7 22:27:44/

1.设置环境

打开终端输入如下命令:

mkdir apidemo
cd apidemo
npm init -y
npm install express
touch server.js

在server.js输入代码
 

const express = require('express');
const app = express();
const PORT = 3030;// 中间件 - 解析JSON请求体
app.use(express.json());// 示例数据存储
let users = [{ id: 1, name: "Alice", age: 25 },{ id: 2, name: "Bob", age: 30 },
];// 首页路由
app.get('/', (req, res) => {res.send('Welcome to My API!');
});// 获取所有用户
app.get('/users', (req, res) => {res.json(users);
});// 根据ID获取单个用户
app.get('/users/:id', (req, res) => {const user = users.find(u => u.id === parseInt(req.params.id));if (!user) return res.status(404).json({ error: 'User not found' });res.json(user);
});// 添加新用户
app.post('/users', (req, res) => {const { name, age } = req.body;if (!name || !age) return res.status(400).json({ error: 'Name and age are required' });const newUser = { id: users.length + 1, name, age };users.push(newUser);res.status(201).json(newUser);
});// 更新用户
app.put('/users/:id', (req, res) => {const user = users.find(u => u.id === parseInt(req.params.id));if (!user) return res.status(404).json({ error: 'User not found' });const { name, age } = req.body;if (name) user.name = name;if (age) user.age = age;res.json(user);
});// 删除用户
app.delete('/users/:id', (req, res) => {const userIndex = users.findIndex(u => u.id === parseInt(req.params.id));if (userIndex === -1) return res.status(404).json({ error: 'User not found' });users.splice(userIndex, 1);res.status(204).send();
});// 启动服务器
app.listen(PORT, () => {console.log(`Server is running on http://localhost:${PORT}`);
});

2.运行服务器

打开终端输入

node server.js

3.验证接口

打开Postman查看请求结果

GET请求

POST请求


http://www.ppmy.cn/devtools/148736.html

相关文章

Swift语言的语法糖

Swift语言的语法糖 Swift是一种由苹果公司开发的编程语言,旨在提高开发者的生产力和代码的可读性。自2014年推出以来,Swift逐渐成为iOS和macOS应用开发的主流语言。Swift的设计理念之一是简化和优化代码,特别是通过使用“语法糖”来提高语言…

小米智能哑铃上市,代理 IP 视角下的智能健身新篇

在智能科技与健康生活深度融合的时代,小米以其敏锐的市场洞察力和强大的创新能力,不断拓展智能生态版图。米家智能哑铃的发布,无疑是其在智能健身领域的又一重要举措。而当我们从代理 IP 的独特视角来审视这一产品,会发现其中蕴含…

STM32 拓展 RTC(实时时钟)

RTC简介 RTC(Real Time Clock,实时时钟)。是一个掉电后仍然可以继续运行的独立定时器。 RTC模块拥有一个连续计数的计数器,在相应的软件配置下,可以提供时钟日历的功能。修改计数器的值可以重新设置当前时间和日期 RTC还包含用于管理低功耗模式的自动唤醒单元。 RTC实质…

数据挖掘入门介绍及代码实战

什么是数据挖掘? 数据挖掘(Data Mining)是从大量数据中通过算法和技术提取有价值知识的过程,常被称为“从数据中发现知识”(KDD,Knowledge Discovery in Databases)。它包括从数据库中发现隐藏…

Nginx不使用域名如何配置证书

如果你不打算使用域名而是使用 IP 地址来配置 Nginx 的 SSL 证书,你会遇到一个问题,因为 SSL/TLS 证书通常是为特定的域名颁发的,而不是 IP 地址。虽然可以为 IP 地址生成证书,但大多数证书颁发机构(CA)不支…

Linux菜鸟级常用的基本指令和基础知识

前言:很多Linux初学者都会头疼于指令太多记不住,笔者刚学习Linux时也是如此,学习Linux指令时,学了后面的指令,前面的指令也会忘的差不多了,针对于以上这些情况,笔者今天来分享一篇Linux菜鸟级的常用指令的博…

【Spring Boot实战教程】第一章——多环境配置与第三方技术整合

目录 ? 前言 一、SpringBoot简介 1. 入门案例 1.1 入门案例开发步骤 1.2 基于SpringBoot官网创建项目 1.3 SpringBoot项目快速启动 2. SpringBoot概述 问题导入 2.1 起步依赖 2.2 默认配置 二、基础配置 1. 配置文件格式 问题导入 1.1 修改服务器端口 1.2 自动…

《Vue3实战教程》40:Vue3安全

如果您有疑问,请观看视频教程《Vue3实战教程》 安全​ 报告漏洞​ 当一个漏洞被上报时,它会立刻成为我们最关心的问题,会有全职的贡献者暂时搁置其他所有任务来解决这个问题。如需报告漏洞,请发送电子邮件至 securityvuejs.org。…