如何在NodeJS中不使用Express JS创建API - 前端大师
文章目录
简介
在开发 Node.js 应用程序时,Express.js 是一个非常流行的框架,因其简洁和高效而被广泛使用。然而,Express.js 本质上是对 Node.js 的封装,因此我们也可以直接使用 Node.js 的内置模块来创建 API。本文将详细讲解如何在不使用 Express.js 的情况下,通过 Node.js 创建一个简单的 API,包括 GET 和 POST 请求的实现,并使用 Postman 进行测试。
步骤1:安装和验证 Node.js 及 Postman
在开始之前,请确保您的开发环境中已安装 Node.js 和 Postman。您可以通过以下步骤来验证:
-
打开终端或命令提示符,输入以下命令检查 Node.js 和 npm 的版本:
node -v npm -v -
如果需要更新 Node.js,请访问 Node.js 官方网站 下载最新版本。
-
安装 Postman,这是一个用于测试 API 的工具,您可以从 Postman 官方网站 下载。
步骤2:初始化项目
-
创建一个新的项目文件夹,并进入该文件夹:
mkdir node-api-no-express cd node-api-no-express -
初始化项目,生成
package.json文件:npm init -y这将创建一个默认的
package.json文件,用于管理项目的依赖和元信息。
步骤3:设置服务器
-
在项目根目录下创建一个名为
server.js的文件。 -
使用 Node.js 的内置
http模块创建服务器。以下是server.js的代码示例:const http = require("http"); const server = http.createServer((req, res) => { res.writeHead(200, { "Content-Type": "text/plain" }); res.write("Hello World!"); res.end(); }); server.listen(9000, () => { console.log("服务器正在端口 9000 上运行"); }); -
启动服务器:
node server.js此时,服务器已在端口 9000 上运行。
步骤4:使用 Postman 测试 API
-
打开 Postman,输入以下 URL:
http://localhost:9000 -
点击发送按钮,您将看到服务器返回的响应内容为:
Hello World!
步骤5:实现 POST 和 GET API
为了支持不同的 HTTP 方法(如 POST 和 GET),我们需要对 server.js 文件进行修改。
修改服务器代码
在 server.js 文件中,根据请求的 URL 和方法类型,添加相应的处理逻辑:
const http = require("http");
const server = http.createServer((req, res) => {
const { method, url } = req; if (method === "GET" && url === "/get-api") {
getHandler(req, res);
} else if (method === "POST" && url === "/post-api") {
postHandler(req, res);
} else {
defaultHandler(req, res);
}
});server.listen(9000, () => {
console.log("服务器正在端口 9000 上运行");
});
实现 GET 请求处理
在 server.js 文件中添加以下代码,用于处理 GET 请求:
const getHandler = (req, res) => {
const data = {
name: "Frontend Guruji",
category: "Technology",
website: "frontendguruji.com",
};
res.writeHead(200, { "Content-Type": "application/json" });
res.write(JSON.stringify({ message: "GET Successful", data }));
res.end();
};
实现 POST 请求处理
对于 POST 请求,我们需要解析请求体中的数据。以下是 POST 请求处理的代码:
const postHandler = (req, res) => {
let chunks = [];
req.on("data", (chunk) => {
chunks.push(chunk);
}); req.on("end", () => {
const data = Buffer.concat(chunks).toString();
console.log("接收到的数据:", data); res.writeHead(200, { "Content-Type": "application/json" });
res.write(JSON.stringify({ message: "POST Successful", receivedData: data }));
res.end();
});
};
默认请求处理
当请求的 URL 或方法类型不匹配时,返回默认响应:
const defaultHandler = (req, res) => {
res.writeHead(404, { "Content-Type": "application/json" });
res.write(JSON.stringify({ message: API not found at ${req.url} }));
res.end();
};
使用 Postman 测试 API
测试 GET 请求
-
在 Postman 中选择 GET 方法。
-
输入以下 URL:
http://localhost:9000/get-api -
点击发送按钮,您将收到以下响应:
{ "message": "GET Successful", "data": { "name": "Frontend Guruji", "category": "Technology", "website": "frontendguruji.com" } }
测试 POST 请求
-
在 Postman 中选择 POST 方法。
-
输入以下 URL:
http://localhost:9000/post-api -
在请求体中选择
raw,并设置为JSON格式,输入以下数据:{ "key": "value" } -
点击发送按钮,您将收到以下响应:
{ "message": "POST Successful", "receivedData": "{"key":"value"}" }
总结
通过本文的教程,我们学习了如何在不使用 Express.js 的情况下,直接使用 Node.js 的内置模块创建 API。我们实现了一个简单的服务器,并支持 GET 和 POST 请求,同时使用 Postman 对其进行了测试。这种方法虽然比使用框架稍显繁琐,但有助于我们深入理解 Node.js 的工作原理。
原文链接: https://frontendguruji.com/blog/how-to-create-api-in-nodejs-without-express-js/
最新文章
- API测试用例编写指南:示例与最佳实践
- 如何获取企查查开放平台 API Key 密钥(分步指南)
- 19个API安全最佳实践,助您实现安全
- 如何免费调用Kimi API实现项目集成
- 探索 Zomato API 的潜力
- 使用 ChatGPT 和 json-server 快速实现 mock API
- 使用NestJS和Prisma构建REST API:处理关系型数据
- 实时追踪风暴巨兽:台风信息API如何助你掌控自然之力
- 监控使用 Apollo 和 Express 构建的 GraphQL API
- 什么是SDK?避免技术沟通陷阱
- 如何获取天地图开放平台 API Key 密钥(分步指南)
- 什么是API测试?类型、工具及执行方法