
Yahoo Finance API – 完整指南
JavaScript因其在客户端和服务器端的多功能性,已成为全球最受欢迎的编程语言之一。在服务器端,JavaScript的一个重要特性是能够创建REST API。在本文中,我们将深入探讨REST API的概念,并详细介绍如何使用Node.js和Express框架创建一个简单的REST API。
REST(Representational State Transfer,表述性状态转移)是一种用于构建Web服务的架构风格。REST API通过URL表示资源(例如用户或产品),并为每个资源定义一组操作(如创建、更新或删除资源)。
REST API的一个关键特点是无状态性,这意味着服务器不会在请求之间存储任何关于客户端的信息。每个客户端请求都需要包含完成该请求所需的所有信息。
REST API通常使用以下HTTP方法来操作资源:
例如,向用户资源的URL发送GET请求可以检索用户信息,而发送POST请求则可以创建新用户。
为了在JavaScript中创建REST API,我们可以使用Node.js及其流行的框架Express。Node.js提供了内置的Web服务器功能,而Express则简化了HTTP请求和响应的处理。
rest-api
的目录。npminit-y
npminstallexpress
index.js
的文件,用于编写代码。以下是一个使用Express创建简单REST API的示例:
const express = require('express');
const app = express();
app.use(express.json());
let users = [
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' }
];
// 获取用户列表
app.get('/users', (req, res) => {
res.json(users);
});
// 添加新用户
app.post('/users', (req, res) => {
const newUser = { id: users.length + 1, name: req.body.name };
users.push(newUser);
res.status(201).json(newUser);
});
// 启动服务器
app.listen(3000, () => {
console.log('Server is running on http://localhost:3000');
});
在上述代码中,我们定义了一个用户资源,并为其实现了两个操作:获取用户列表(GET)和添加新用户(POST)。通过调用app.listen
方法,我们启动了服务器。
我们可以进一步扩展API,支持更新和删除用户资源。以下是更新后的代码示例:
// 更新用户
app.put('/users/:id', (req, res) => {
const userId = parseInt(req.params.id);
const userIndex = users.findIndex(user => user.id === userId);
if (userIndex !== -1) {
users[userIndex].name = req.body.name;
res.json(users[userIndex]);
} else {
res.status(404).send('User not found');
}
});
// 删除用户
app.delete('/users/:id', (req, res) => {
const userId = parseInt(req.params.id);
const userIndex = users.findIndex(user => user.id === userId);
if (userIndex !== -1) {
users.splice(userIndex, 1);
res.status(204).send();
} else {
res.status(404).send('User not found');
}
});
在上述代码中:
要测试API,请按照以下步骤操作:
nodeindex.js
http://localhost:3000/users
,查看用户列表。curl
或Postman等工具测试其他API端点。例如:创建新用户:
curl -X POST -H "Content-Type: application/json" -d '{"name": "John"}' http://localhost:3000/users
更新用户:
curl -X PUT -H "Content-Type: application/json" -d '{"name": "David"}' http://localhost:3000/users/3
删除用户:
curl -X DELETE http://localhost:3000/users/3
REST API是一种强大且灵活的Web服务构建方式。通过Node.js和Express框架,我们可以快速创建可扩展、易维护的REST API。在实际开发中,您还可以结合数据库(如MongoDB)来存储和管理数据,从而构建更复杂的应用程序。
如果您对如何使用MongoDB创建REST API感兴趣,请留言告诉我们!
原文链接: https://javascripttoday.com/blog/build-a-rest-api-in-javascript/
Yahoo Finance API – 完整指南
WordPress REST API 内容注入漏洞分析
四款AI大模型API价格对比:DeepSeek R1、ChatGPT o3-mini、Grok3、通义千问 Max
四款AI大模型API基础参数、核心性能的区别:DeepSeek R1、ChatGPT o3-mini、Grok3、通义千问 Max
2025年多模态大模型API基础参数、核心性能:Deepseek、ChatGPT、文心一言
2025年最新推理大模型API价格对比:通义千问Max vs 豆包1.5 Pro vs 混元Lite
大模型新基座,基于FastAPI,利用Python开发MCP服务器
DeepSeek+ima:打造高效个人知识库,提升学习与工作效率
快速接入腾讯地图MCP Server