Node 处理客户端不同的请求方法

embedded/2025/2/4 8:42:46/

一、使用 `http` 模块处理请求方法

1. 创建 HTTP 服务器

const http = require("http");const server = http.createServer((req, res) => {// 处理不同的请求方法switch (req.method) {case "GET":handleGetRequest(req, res);break;case "POST":handlePostRequest(req, res);break;case "PUT":handlePutRequest(req, res);break;case "DELETE":handleDeleteRequest(req, res);break;default:handleUnsupportedMethod(req, res);}});// 监听端口server.listen(3000, () => {console.log("Server running on port 3000");});

2. 处理 GET 请求

function handleGetRequest(req, res) {// 设置响应头res.writeHead(200, { "Content-Type": "text/plain" });// 发送响应内容res.end("This is a GET request");}

3. 处理 POST 请求

function handlePostRequest(req, res) {let body = "";// 接收请求体数据req.on("data", (chunk) => {body += chunk.toString();});req.on("end", () => {// 设置响应头res.writeHead(200, { "Content-Type": "text/plain" });// 发送响应内容res.end(`This is a POST request with body: ${body}`);});}

4. 处理 PUT 请求

function handlePutRequest(req, res) {let body = "";req.on("data", (chunk) => {body += chunk.toString();});req.on("end", () => {// 设置响应头res.writeHead(200, { "Content-Type": "text/plain" });// 发送响应内容res.end(`This is a PUT request with body: ${body}`);});}

5. 处理 DELETE 请求

function handleDeleteRequest(req, res) {// 设置响应头res.writeHead(200, { "Content-Type": "text/plain" });// 发送响应内容res.end("This is a DELETE request");}

6. 处理不支持的请求方法

function handleUnsupportedMethod(req, res) {// 设置响应头res.writeHead(405, { "Content-Type": "text/plain" });// 发送响应内容res.end("Method Not Allowed");}

二、使用 `express` 框架处理请求方法

1. 安装 `express` 框架

npm install express

2. 创建 `express` 服务器

const express = require("express");const app = express();// 处理 GET 请求app.get("/", (req, res) => {res.send("This is a GET request");});// 处理 POST 请求app.post("/", (req, res) => {res.send("This is a POST request");});// 处理 PUT 请求app.put("/", (req, res) => {res.send("This is a PUT request");});// 处理 DELETE 请求app.delete("/", (req, res) => {res.send("This is a DELETE request");});// 监听端口app.listen(3000, () => {console.log("Server running on port 3000");});


http://www.ppmy.cn/embedded/159417.html

相关文章

【PyTorch】6.张量运算函数:一键开启!PyTorch 张量函数的宝藏工厂

目录 1. 常见运算函数 个人主页:Icomi 专栏地址:PyTorch入门 在深度学习蓬勃发展的当下,PyTorch 是不可或缺的工具。它作为强大的深度学习框架,为构建和训练神经网络提供了高效且灵活的平台。神经网络作为人工智能的核心技术&…

在 Ubuntu 中使用 Conda 创建和管理虚拟环境

Conda 是一个广泛使用的包管理和环境管理系统,尤其适用于数据科学和 Python 开发。本文将指导你如何在 Ubuntu 系统中安装 Conda 并创建基于 python3.11 的虚拟环境。 1. 安装 Miniconda 或 Anaconda 方法 1:下载并安装 Miniconda Miniconda 是一个轻量…

VLC-Qt: Qt + libVLC 的开源库

参考链接 https://blog.csdn.net/u012532263/article/details/102737874

【前端学习路线】前端优化 详细知识点学习路径(附学习资源)

📚学习资源: 前端开发:零基础入门到项目实战 >> 前端开发:边学边练 >> 原学习路径下载 >>

C# 接口介绍

.NET学习资料 .NET学习资料 .NET学习资料 一、接口的定义 在 C# 中,接口是一种特殊的抽象类型,它定义了一组方法签名,但不包含方法的实现。接口使用interface关键字来声明。例如,定义一个表示形状的接口IShape: in…

HarmonyOS:状态管理最佳实践

一、概述 在声明式UI编程范式中,UI是应用程序状态的函数,应用程序状态的修改会更新相应的UI界面。ArkUI采用了MVVM模式,其中ViewModel将数据与视图绑定在一起,更新数据的时候直接更新视图。如下图所示: ArkUI的MVVM模式…

分布式数据库应用实践:架构设计与性能优化

📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 引言 在当今数据驱动的世界中,分布式数据库因其高可用性、可扩展性和强大的容错能力,已成为现代企业存储…

6 [新一代Github投毒针对网络安全人员钓鱼]

0x01 前言 在Github上APT组织“海莲花”发布存在后门的提权BOF,通过该项目针对网络安全从业人员进行钓鱼。不过其实早在几年前就已经有人对Visual Studio项目恶意利用进行过研究,所以投毒的手法也不算是新的技术。但这次国内有大量的安全从业者转发该钓…