express入门01服务器搭建以及get和post请求的监听

微搭提供了后端API的能力,但是不同的版本收费差别巨大,因为使用的门槛限制了中小企业使用低代码平台。那可不可以既要又要呢?答案是肯定的,那其实掌握一定的后端框架,借助我们在低代码中已经熟练掌握的技能其实是比较容易的。

这个系列的教程我们讲解一下express框架,他就可以比较容易的搭建我们的后端服务,这个是本系列的第一篇讲解服务的搭建以及get和post请求的监听。

1 初始化工程

在电脑盘符里新建一个项目的目录,我这里新建一个express入门
在这里插入图片描述
用vscode打开我们的目录
在这里插入图片描述
打开命令行窗口
在这里插入图片描述
输入初始化命令

npm init

按照提示一路回车
在这里插入图片描述

2 安装express

在命令行输入如下命令,安装express

npm install express --save

在这里插入图片描述

3 启动服务器

在项目的根目录创建一个app.js用来启动服务器
在这里插入图片描述
贴入如下代码来启动我们的服务器

const express = require('express')const app = express()app.listen(3000,()=>{console.log("server is started")
})

在命令行输入启动命令

node app.js

可以看到服务已经启动完成了

4 监听get请求

在app.js里继续加入如下代码用来响应get请求

app.get("/",function(req,res){console.log("根目录被调用")
})

在package.json里添加启动脚本

{"name": "project","version": "1.0.0","description": "","main": "app.js","scripts": {"test": "echo \"Error: no test specified\" && exit 1","dev":"node app.js"},"author": "","license": "ISC","dependencies": {"express": "^4.19.2"}
}

然后在命令行里输入

npm run dev

这样我们就使用启动命令启动了服务器

在浏览器里访问http://localhost:3000可以看到控制台输出了根目录被调用
在这里插入图片描述

5 返回数据

接收到客户端的请求后,我们可以给客户端返回数据,通常使用res.send方法完成

返回文本数据

res.send("hello world")

在这里插入图片描述
在这里插入图片描述
返回json数据

const data = {  name: 'John Doe',  age: 30,  city: 'New York'  };  res.json(data);  

在这里插入图片描述
返回html数据

const html = '<h1>Hello, World!</h1>';  res.send(html);

在这里插入图片描述

6 监听post请求

监听post请求的时候,需要先处理请求的类型

// 解析 application/json 类型的请求体  
app.use(express.json());  // 解析 application/x-www-form-urlencoded 类型的请求体  
app.use(express.urlencoded({ extended: true }));  

然后我们就可以注册post请求进行监听

app.post("/user/add",function(req,res){console.log(req.body)res.send("请求完成")
})

发送Post请求的时候我们不能直接访问路径,需要借助postman工具,安装好,在postman里输入如下的请求地址
在这里插入图片描述
控制台打印了我们提交的参数
在这里插入图片描述

7 动态获取参数

在调用接口的时候除了我们用?传参外,我们还可以动态传入参数,比如如下接口

app.get('/users/:id', (req, res) => {  // 通过 req.params.id 访问路由参数  const userId = req.params.id;  res.send(`User ID: ${userId}`);  });  

这样我们就可以通过/users/1的形式去访问接口,来获取我们传入的参数
在这里插入图片描述

总结

本篇我们介绍了使用express框架搭建服务器的过程,以及监听get和post请求。在低代码开发中,尤其是后端开发中,为了让我们的应用的灵活度更高,往往需要借助云服务器来搭建自己的后端应用,照着教程练习一遍吧。

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

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

相关文章

影子,介绍一下自己

自述 性格&#xff1a;生活i人&#xff1b;工作e人爱好&#xff1a;崇尚工程师文化&#xff0c;希望科技能帮助每个人更好的生活成长&#xff1a;坚持长期主义&#xff1b;认知提升专业领域&#xff1a;数学&#xff1b;Java后端&#xff1b;大数据&#xff1b;自然语言处理 …

spring和Mybatis的各种查询

文章目录 六**、MyBatis的各种查询功能**6.1、查询一个实体类的对象6.2、查询一个list集合6.3、查询单个数据6.4、查询一条数据为Map集合6.5、查询多条数据为Map集合 七、**特殊SQL的执行**7.1、模糊查询7.2、批量删除7.3、动态设置表名7.4、添加功能获取自增的主键 八、**自定…

OpenCV学习(4.9) OpenCV中的轮廓

1.目标 了解轮廓是什么。学习寻找轮廓&#xff0c;绘制轮廓等您将看到以下功能&#xff1a;**cv.findContours()** &#xff0c;**cv.drawContours()* 2.什么是轮廓 轮廓可以简单地解释为连接具有相同颜色或强度的所有连续点(沿边界)的曲线。轮廓是用于形状分析以及对象检测…

友情提示:lazarus的tsortgrid.autofillcolumns存在BUG

直接在tsortgrid的属性中设置autofillcolumns为true&#xff0c;会提示&#xff1a;123个错误。即使修改为false&#xff0c;编译运行照样会出现上述错误。唯一解决的办法就是删除sortgrid重新添加一个。 代码设置SortGrid1.AutoFillColumns : TRUE不受影响。

【Windows】UWP - Application Frame 窗口句柄溯源

目录 一、问题描述 二、解决方案 三、测试代码 参考文献 本文出处链接&#xff1a;[https://blog.csdn.net/qq_59075481/article/details/139574981]。 一、问题描述 当 GUI 线程的窗口属于 Windows/UWP 应用程序时&#xff0c;它们始终由进程 ApplicationFrameHost 托管…

C++ 20新特性之Ranges

&#x1f4a1; 如果想阅读最新的文章&#xff0c;或者有技术问题需要交流和沟通&#xff0c;可搜索并关注微信公众号“希望睿智”。 为什么要引入Ranges 在C 20之前&#xff0c;我们处理容器和迭代器时&#xff0c;通常需要使用一系列的算法和复杂的迭代器操作。这不仅繁琐&…

java aio nio区别

Java AIO&#xff08;Asynchronous I/O&#xff09;和NIO&#xff08;Non-blocking I/O&#xff09;在并发模型、API和适用场景等方面有所不同。具体分析如下&#xff1a; 并发模型 AIO&#xff1a;AIO提供了异步非阻塞的IO操作&#xff0c;通过回调函数来通知IO操作的完成。在…

栈----7-9 括号匹配

给定一串字符&#xff0c;不超过100个字符&#xff0c;可能包括括号、数字、字母、标点符号、空格&#xff0c;编程检查这一串字符中的( ) ,[ ],{ }是否匹配。 输入格式: 输入在一行中给出一行字符串&#xff0c;不超过100个字符&#xff0c;可能包括括号、数字、字母、标点符…

量化投资分析平台 迅投 QMT(六)资产定价绕不过去的BSM模型

量化投资分析平台 迅投 QMT [迅投 QMT](https://www.xuntou.net/?user_code7NYs7O)我目前在使用什么是BSM模型CQF课程介绍模型的五个重要的假设模型公式 我们为啥要学&#xff08;知道&#xff09;这玩意儿呢&#xff1f;隐含波动率&#xff08;Implied Volatility&#xff09…

初阶 《函数》 4. 函数的调用

4. 函数的调用 4.1 传值调用 函数的形参和实参分别占有不同内存块&#xff0c;对形参的修改不会影响实参 4.2 传址调用 传址调用是把函数外部创建变量的内存地址传递给函数参数的一种调用函数的方式 这种传参方式可以让函数和函数外边的变量建立起真正的联系&#xff0c;也就是…

Bat脚本专栏目录及索引

文章目录 注释关闭回显和打印pauseerrorlevel 判断刚才的命令是否执行成功%value% 和 !value!的区别脚本名或路径有中文if条件判断语句for 循环语句set 变量设置findstr 搜索指令tasklist 进程列表指令文件操作时间延迟简单应用 注释 REM:: 关闭回显和打印 &#xff1a;字符…

大数据领域的workload是什么意思?

什么是workload&#xff1f; 在大数据领域&#xff0c;"workload"指的是需要处理的数据集和对其执行的操作的组合。它描述了大数据系统需要执行的任务的类型和规模。 我们可以从以下几个维度来理解大数据领域的 workload&#xff1a; 数据的特征: 数据量 需要处…

Linux下创建软raid(磁盘阵列)

raid &#xff0d;&#xff0d;磁盘阵列 RAID分为软RAID和硬RAID 如果cpu比较空闲&#xff0c;并且I/O比较慢的话&#xff0c;那么就比较适合使用软RAID 基本级别 0 1 5 0级别&#xff1a; 至少有两块硬盘&#xff0c;条带化&#xff0c;即把磁盘分散开&#xff0c; 写性能 …

sam_out 脱发预测

解释 这段代码是一个用于预测掉发问题的GPT模型的训练脚本。代码首先读取了一个包含预测特征的csv数据文件&#xff0c;并将特征进行编码。然后将数据集分成训练集和测试集。接下来定义了模型的结构&#xff0c;优化器和损失函数。然后进行多轮训练&#xff0c;每一轮都使用批…

堆和栈(heap and stack)

1、堆&#xff1a;一块内存空间&#xff0c;可以从中分配一个小buffer&#xff0c;用完后再把它放回去。 2、栈&#xff1a;也是一块内存空间&#xff0c;cpu的sp寄存器指向它&#xff0c;它可以用于函数调用、局部变量、多任务系统里保存现场。 PUSH [r3-r6,lr]; #将r3到r6寄…

C++之pair总结及其在点云数据存储中举例

1、前言 pair是将2个数据组合成一组数据&#xff0c;当需要这样的需求时就可以使用pair。如当一个函数需要返回2个数据的时候&#xff0c;可以选择pair。 pair的实现是一个结构体&#xff0c;主要的两个成员变量是first、second 因为是使用struct不是class&#xff0c;所以可以…

26.多边形的判定

上海市计算机学会竞赛平台 | YACSYACS 是由上海市计算机学会于2019年发起的活动,旨在激发青少年对学习人工智能与算法设计的热情与兴趣,提升青少年科学素养,引导青少年投身创新发现和科研实践活动。https://www.iai.sh.cn/problem/499 题目描述 给定 𝑛n 个整数 𝑎1,𝑎…

base上海,数据科学,数据挖掘,数据分析等岗位求收留

裁员了&#xff0c;base上海&#xff0c;数据科学&#xff0c;数据挖掘&#xff0c;数据分析等岗位&#xff0c;期望30k~40k&#xff0c;求推荐求收留 1&#xff0c;6年数据算法工作&#xff0c;做过指标体系搭建&#xff0c;用户画像&#xff0c;货品定价&#xff0c;社区分析…

Nacos注册中心和配置中心

1 nacos简介 1.1nacos介绍 Nacos是阿里的一个开源产品&#xff0c;它是针对微服务架构中的服务发现、配置管理、服务治理的综合型解决方案。是微服务的注册中心和配置中心&#xff0c;相当于springcloudEureka和springconfig的集合。 Nacos 致力于帮助您发现、配置和管理微服务…

使用Leaflet-canvas-label进行个性化标注实践详解

目录 前言 一、leaflet-canvas-label属性 1、地图展示属性 2、Canvas文本标注属性 3、事件列表 二、属性设置实战 1、标注放大比例 2、字体颜色和方向偏移 3、标注文字透明色设置 4、标注显示层级 三、事件绑定 1、颜色改变 2、事件绑定解析 3、标记初始化的一个小…