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

news2025/2/25 23:10:53

微搭提供了后端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.coloradmin.cn/o/1810431.html

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

相关文章

rust asyn和await pin unpin加精!!!

15-探讨为什么Pin在Rust异步编程中如此重要 | Databend_哔哩哔哩_bilibili 能不能Pin住&#xff0c;取决于T是否实现了Unpin&#xff0c;如果实现了Unpin&#xff0c;那么Pin不住 Pin不能pin住u32等基础变量 编译器为async和await生成结构体实现了!Unpin 结构体中使用引用要…

Hexo+Github搭建个人博客教程

hexo官网&#xff1a;https://hexo.io/zh-cn/ butterfly 主题设置&#xff1a;https://butterfly.js.org/ GitHub地址&#xff1a;https://github.com/jerryc127/hexo-theme-butterfly 基础命令 初始化博客命令&#xff1a;hexo init “文件名” 开启本地服务&#xff08;本…

重温共射放大电路

1、放大概念 小功率信号变成一个大功率信号&#xff0c;需要一个核心器件做这件事&#xff0c;核心器件的能量由电源提供&#xff0c;通过核心器件用小功率的信号去控制大电源&#xff0c;来实现能量的转换和控制&#xff0c;前提是不能失真&#xff0c;可以用一系列正弦波进行…

[大模型]GLM-4-9B-Chat WebDemo 部署

环境准备 在autodl平台中租一个4090等24G显存的显卡机器&#xff0c;如下图所示镜像选择PyTorch–>2.1.0–>3.10(ubuntu22.04)–>12.1 接下来打开刚刚租用服务器的JupyterLab&#xff0c; 图像 并且打开其中的终端开始环境配置、模型下载和运行演示。 pip换源和安装…

服务部署:使用docker部署开源Xxl-Job任务调度平台项目

一、项目构建 1、从gitee上下载源码&#xff1a;xxl-job: 一个分布式任务调度平台&#xff0c;其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线&#xff0c;开箱即用。https://gitee.com/xuxueli0323/xxl-job 2、本地使用…

征信受损,别再犯傻!

听说你的征信出了点小问题&#xff1f;别急&#xff0c;这事儿说大不大&#xff0c;但也不能掉以轻心。征信&#xff0c;说白了就是你借钱还钱的记录本&#xff0c;一旦它“花”了&#xff0c;借钱可就没那么轻松了。 先来说说这征信“花”了是咋回事 征信“花”了&#xff0c…

三高系统的架构设计方案:高并发、高可用、高性能

文章目录 一、互联网系统三高概述1、互联网的三高2、高并发3、高可用4、高性能 二、高并发、高性能技术解决方案1、多高的并发才算高并发&#xff1f;2、水平扩展3、负载均衡思想4、缓存思想5、池化复用思想6、异步思想7、预处理-惰性更新思想8、分而治之思想 三、高可用技术解…

监听DB配置变更之go-broadcast简单实现

文章目录 1. 前言2. 分析3. 实现4. 问题5. 小结6. 参考 1. 前言 之前遇到一个需求&#xff0c;因为配置的查找是基于db的&#xff0c;而db的更改却无法实时通知到具体利用到这条数据的使用方&#xff0c;为了实现db数据变动时&#xff0c;能够尽快让使用方知道这条数据发生了变…

echarts组件x轴坐标显示不全解决方法

1.旋转: 修改前: option {xAxis: {type: category,data: [Mon, Tue, Wed, Thu, Fri, Sat, Sun,Mon, Tue, Wed, Thu, Fri, Sat, Sun,Mon, Tue, Wed, Thu, Fri, Sat, Sun]},yAxis: {type: value},series: [{data: [120, 200, 150, 80, 70, 110, 130,120, 200, 150, 80, 70, 1…

802.11漫游流程简单解析与笔记_Part3

原定计划在Part3分析ns3的Roaming流程抓包&#xff0c;但ns3并不支持漫游&#xff1a; 看过Part1的应该都知道&#xff0c;标准关联流程是auth*2 associate*2 key*4&#xff0c;但ns3里面没有与auth有关的部分&#xff0c;third脚本里面有cap字段&#xff0c;但无auth也无key&a…

elementUI el-table高度heght和总结summary 同时使用 表格样式异常

背景 同时使用height和 show-summary 样式错位 解决方案 在钩子函数updated 中重新渲染此表格 <el-table :height"autoHeight" show-summary ref"dataTable" >updated() {this.$nextTick(() >{this.$refs.dataTable.doLayout();})},更改后的效果 …

代码随想录算法训练营第三十三天| 1005.K次取反后最大化的数组和,134. 加油站,135. 分发糖果

1005. K 次取反后最大化的数组和 - 力扣&#xff08;LeetCode&#xff09; class Solution {public int largestSumAfterKNegations(int[] nums, int k) {Arrays.sort(nums);int i 0;while (i < nums.length && nums[i] < 0 && k > 0) {nums[i] num…

Apollo9.0 PNC源码学习之Control模块(二)

前面文章&#xff1a;Apollo9.0 PNC源码学习之Control模块&#xff08;一&#xff09; 本文将对具体控制器以及原理做一个剖析 1 PID控制器 1.1 PID理论基础 如下图所示&#xff0c;PID各参数(Kp,Ki,Kd)的作用&#xff1a; 任何闭环控制系统的首要任务是要稳、准、快的响…

LLM Algorithms(1): Flash Attention

目录 Background Flash Attention Flash Attention Algorithm 参考 NIPS-2022: Flash Attention: Fast and Memory-Efficient Exact Attention with IO-Awareness idea&#xff1a;减少资源消耗&#xff0c;提升或保持模型性能。普通attention的空间复杂度是 --》降低到F…

探究IOC容器刷新环节初始化前的预处理

目录 一、IOC容器的刷新环节快速回顾 二、初始化前的预处理prepareRefresh源码分析 三、初始化属性源 &#xff08;一&#xff09;GenericWebApplicationContext初始化属性源 &#xff08;二&#xff09;StaticWebApplicationContext初始化属性源 四、初始化早期事件集合…

亚马逊冗余库存处理

在亚马逊放置90天以上的产品&#xff0c;又不在正常的动销&#xff0c;就要采取一定的措施了。清库存方式&#xff1a; 最直接的方式——降价促销&#xff08;至少要降价百分之三十以上&#xff0c;库龄越久&#xff0c;降价越狠&#xff09;参加官方的活动促销的话是需要符合…

在 Word 中,如何有效调整文字与下划线之间的距离

&#x1f349; CSDN 叶庭云&#xff1a;https://yetingyun.blog.csdn.net/ 如果你在使用 Word 时&#xff0c;希望调整文字和下划线之间的距离&#xff0c;让它们看起来更加美观&#xff0c;可以按照以下步骤操作&#xff1a; 1. 在你想要加下划线的文字前后各加一个空格&…

Tdengine的时序数据库简介、单机部署、操作语句及java应用

Tdengine的时序数据库简介、单机部署、操作语句及java应用 本文介绍了Tdengine的功能特点、应用场景、超级表和子表等概念&#xff0c;讲述了Tdengine2.6.0.34的单机部署&#xff0c;并介绍了taos数据库的常见使用方法及特色窗口查询方法&#xff0c;最后介绍了在java中的应用。…

Harmony中的HAP、HAR、HSP区别

Harmony中的HAP、HAR、HSP区别 想要更加合理的开发一个企业级别的Harmony应用&#xff0c;那么就不得不提其中的HAP、HAR、HSP了。 前言 对于普通的用户来说&#xff0c;可能一个普通的应用就等于一个安装文件如安卓下的APK。但是对于Harmony应用开发工程师来讲&#xff0c;…

Python | Leetcode Python题解之第143题重排链表

题目&#xff1a; 题解&#xff1a; class Solution:def reorderList(self, head: ListNode) -> None:if not head:returnmid self.middleNode(head)l1 headl2 mid.nextmid.next Nonel2 self.reverseList(l2)self.mergeList(l1, l2)def middleNode(self, head: ListNo…