使用node.js + express框架 搭建一个微型服务器

news/2024/8/26 16:27:20/文章来源:https://blog.csdn.net/Vest_er/article/details/127129137

目录

  • 一、创建服务器
  • 二、express监听GET请求
    • 1、发送GET请求,并获取query参数
    • 2、发送GET请求,并获取params参数
    • 3、通过GET请求获取猫咪信息
  • 三、express监听POST请求
    • 1、安装中间件
    • 2、发送POST请求
    • 3、使用postman进行测试接口
    • 4、通过POST请求注册登录信息

一、创建服务器

1、新建demo文件夹
在这里插入图片描述
2、在demo文件夹内执行
npm i express --save

3、创建server.js

4、导入express
const express = require("express");

4、创建web服务器
const app =express();

5、调用app.listen启动服务器,端口为5006
app.listen(5006,(err)=>{ if(!err) console.log('服务器启动成功'); })
6、监听GET请求

app.get("/cats",(req,res)=>{res.send({name:"憨瓜",age:"4岁",other:"疫苗已打已绝育"})
})

7、监听POST请求

app.post('/owner',(req,res)=>[res.send('888')
])

8、启动服务器
node server

9、运行结果
在这里插入图片描述

二、express监听GET请求

1、发送GET请求,并获取query参数

客户端可以使用 ?name=‘憨瓜’&age='4岁'这种字符串形式发送到服务器的参数,可以通过req.query的形式获取
req.query默认是一个空对象

app.get('请求url',(req,res)=>{  
console.log(req.query)  // 打印一个对象 
})

2、发送GET请求,并获取params参数

客户端可以使用 :参数名这种占位符形式发送到服务器的参数,可以通过req.params的形式获取
req.params默认是一个空对象

app.get('请求url/:name',(req,res)=>{  
console.log(req.params)  
})

3、通过GET请求获取猫咪信息

//导入express
const express = require("express");//创建web服务器
const app = express()//监听GET请求
app.get("/cats",(req,res)=>{res.send({name:"憨瓜",age:"4岁",others:"疫苗已打已绝育"})
})//调用app.listen启动服务器
app.listen(5006,(err)=>{if(!err) console.log('服务器启动成功');
})

运行结果
在这里插入图片描述

三、express监听POST请求

1、安装中间件

发送POST请求需要安装json解析中间件body-parser
Express中默认都使用body-parser作为请求体解析post数据,这个模块也能解析:JSON、Raw、文本、URL-encoded格式的请求体

安装
npm i body-parser
引入
var bodyParser = require('body-parser')
使用(添加json解析)
app.use(bodyParser.json())

2、发送POST请求

app.post('/login',(req,res)=>{res.send('888')    // 不能发送数字,只能发字符串})

3、使用postman进行测试接口

在这里插入图片描述

4、通过POST请求注册登录信息

//1.导入express
const express = require("express");//导入json解析中间件
const bodyParser = require('body-parser')//创建web服务器
const app = express()app.use(bodyParser.urlencoded({ extended: false }))//添加json解析
app.use(bodyParser.json())//监听POST请求
app.post('/login',(req,res)=>{let {name,age} = req.body;if(name ='波妞' && age == '3岁'){res.send('注册成功')}else{res.send('注册失败');}
})//调用app.listen启动服务器
app.listen(5006,(err)=>{if(!err) console.log('服务器启动成功');
})

运行结果
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_16727.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

考研计划清单

🔱前言 备考两年,我要上985! 考研计划清单 🔱前言 🔱一、初试 📍1.政治 📍2.英语 📍3.数学 📍4.专业课 🔱二、复试 📍1.离散数学 &#x1f4cd…

“摸鱼”就能得出设计灵感?他的经验分享得看

我们时常能在平面设计讲师Jac的朋友圈,看到他分享出的他为之骄傲的学生作品,而James ZHAO是其中出现频率最高的作品创作者之一,不定期的、脑洞大开的、意想不到的…… “咦,他的设计灵感哪里来的?就不会出现灵感枯竭、…

SQL语言---数据更新

文章目录前言一、数据更新之插入数据1.插入单个元组(1)语句格式(2)语法说明INTO子句VALUES子句插入规则(3)举例讲解例子1:例子2:易犯错误2.插入子查询结果(1)…

看见艺术·听见艺术 飞利浦大艺术家视听盛宴佛山站 圆满结束!

9月28日,飞利浦电视及影音高端产品品鉴会在佛山华美达酒店落下帷幕。飞利浦大艺术家以“看见艺术听见艺术”为主线,携旗下多款艺术视听影音产品亮相品鉴会,全方位展示飞利浦艺术视听家族的非凡魅力,秉承科技与技术不断升级的执著理…

代码随想录12——栈与队列:150.逆波兰表达式、239滑动窗口最大值、347前K个高频元素

文章目录1.150逆波兰表达式1.1.题目1.2.解答2.239滑动窗口最大值2.1.题目2.2.解答3.347前K个高频元素3.1.题目3.2.解答1.150逆波兰表达式 参考:代码随想录,150.逆波兰表达式 1.1.题目 逆波兰表达式:是一种后缀表达式,所谓后缀就…

Java:Java中的堆栈和堆内存

Java 数据类型在执行期间存储在两种不同形式的内存中:堆栈和堆。它们通常由运行 Java 虚拟机 (JVM) 的底层平台维护。本编程教程从 Java 软件开发的角度提供了对这两种内存类型的一些见解。 Java平台是如何工作的? Java程序运行在Java虚拟机(JVM)。这个平台是管理器…

简论UWB三种定位算法的区别

目录 一无线定位系统的6个主要评价指标 1、定位精度 2、规模 3、基站密度 4、环境适应性 5、功耗 6、代价与成本 二、UWB无线定位 三、UWB三种定位算法 1、基于TOF的定位算法 2、基于TDOA的定位算法 3、基于AOA的定位算法 四、UWB三种定位算法在无线定位系统6大指…

【C语言】手把手带你写第一个C语言程序

Hello world!前言准备知识环境.h.c开始演示1、创建项目2、创建源文件3、写代码4、编译链接运行代码解释写主函数printf函数头文件stdio.hstdio补充知识前言 欢迎收看有手就行C语言系列,我是努力学习游泳的鱼。我之前也写过一个系列的C语言教程,不过自我…

nonebot2插件入门-你的第一个机器人插件(发送文字消息)

发送“测试”,机器人回复“lalalalala”机器人需要各种插件来实现各种功能,只有个机器人框架是不够的。🍁手把手从零搭建出属于自己的QQ机器人🍁创建插件(一) 插件要放在“src”文件夹下的“plugins”文件夹里(如果你的机器人框架按照前面的文章配置的话) 1、以文件夹…

网络适配器消失不见?

网络适配器网络适配器消失不见!网络适配器:网络适配器作用:Win11查看网络适配器型号方法/步骤:网络适配器找不到的解决方法:参考:网络适配器消失不见! 昨天还能正常联网,今天联网时突然发现网络…

前端培训技术Services 平台元素

Web Services 拥有三种基本的元素: SOAP、WSDL 以及 UDDI。 什么是 SOAP SOAP是基于XML的简单协议,应用程序可以在HTTP上更换信息。让我们更简单地说,SOAP是访问网络服务的协议。 SOAP 指简易对象访问协议SOAP 是一种通信协议SOAP 用于应用程序之间的通…

10_分类和static

1.案例驱动模式 1.1案例驱动模式概述 (理解) 通过我们已掌握的知识点,先实现一个案例,然后找出这个案例中,存在的一些问题,在通过新知识点解决问题 1.2案例驱动模式的好处 (理解) 解决重复代码过多的冗余,提高代码的复用性解决业务逻辑聚集紧密导致的可读性差,提高代码的可…

评测回顾 | 天空卫士以人为本的数据防泄露系统

1、产品与行业背景 随着数字经济的发展,数据已成为重要生产要素之一,数据安全直接关乎国家安全与社会经济发展,数据资产安全保护、数据防泄露技术产品应用和产业化发展备受社会普遍关注。数据资产保护不仅要解决数据泄露风险,还要…

初始化React电商+TS实战项目

技术栈 脚本:TypeScript 前端框架:React 路由管理:React-router-dom 用户界面:Antd 全局状态管理:Redux 网络请求:Axios 调试工具:redux-devtools-extension 基础配置 浏览器扩展工具 React D…

企业办公安全隐患不容忽视,墨门云终端安全来解决...

随着信息化时代的到来,办公越来越趋于网络化,办公系统网站及重要信息系统面临着严峻的安全形势,保护办公信息安全显得尤为重要。 企业面临的办公安全隐患 1.企业内部威胁 通常情况下,如果企业员工缺乏网络安全意识,对…

MindSpore安装教程

1.什么是MindSpore 说明:(非常实用) MindSpore:新一代AI开源计算框架。 创新编程范式,AI科学家和工程师更易使用,便于开放式创新;该计算框架可满足终端、边缘计算、云全场景需求&#xff0c…

【Ubuntu同步系统时间】

【Ubuntu同步系统时间】1. 摘要2. 内容3. 具体实现3.1 timesyncd查看系统时间3.2 安装ntpdate同步时间库3.3 同步互联网时间3.4 UTC改为localtime时间4. 总结欢迎大家阅读2345VOR的博客【Ubuntu同步系统时间】🥳🥳🥳 本人主页: 已…

【Linux command 05】seq Command on Linux

1、Linux seq command As already mentioned, the seq command lets you print a sequence of numbers. Following is its syntax: seq [OPTION]... LAST seq [OPTION]... FIRST LAST seq [OPTION]... FIRST INCREMENT LAST 用法:seq [选项]... 尾数或&#xff1a…

多线程概述(线程创建,方法(等待,通知,加入,睡眠,礼让,中断),上下文切换,死锁,守护线程与用户线程)

线程 o进程 在讨论什么是线程前有必要先说下什么是进程,因为线程是进程中的一个实体,线程本身是不会独立存在的。进程是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,线程则是进程的一个执行路径&…

视频变速怎么做?手把手教会你

如果我们想要让视频效果贴近我们的预想,可以将视频进行变速处理,把某个片段的速度变慢或者加快,让视频能更好展示我们要表达的内容。那么大家知道视频变速怎么做吗?看看我分享的方法吧,让你轻松get变速视频哦。方法一&…