当前位置: 首页 > news >正文

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

目录

  • 一、创建服务器
  • 二、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('服务器启动成功');
})

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

相关文章:

  • Ensembling Off-the-shelf Models for GAN Training(GAN模型迎来预训练时代,仅需1%的训练样本)
  • Dobbo微服务项目实战(详细介绍+案例源码) - 3.用户信息
  • 谷歌翻译 失效/无法使用方法,谷歌停止在中国地区的谷歌翻译服务
  • Matplotlib绘制折线图,条形图,柱状图,面积图
  • Navisworks二次开发——图元属性获取
  • 【深度学习100例】—— 使用PyTorch实现验证码识别 | 第4例
  • 【每日一好题】官方题解看不懂,别怕我教你吊打官方题解:重新格式化电话号码
  • PCIe系列专题之五:PCIe总线电源管理
  • 基于Java+SpringBoot+Thymeleaf+Mysql企业网站公司网站系统设计实现
  • 【Linux】常见指令收官拓展
  • 大数据讲课笔记1.5 使用Vim编辑器
  • 半导体通讯标准EAP、SECS/GEM视频介绍
  • 【秒杀抢购系统设计】
  • 网络安全红队详细接收
  • 3. 测度论-随机变量
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • 《Java编程思想》读书笔记-对象导论
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • 【mysql】环境安装、服务启动、密码设置
  • Centos6.8 使用rpm安装mysql5.7
  • HashMap ConcurrentHashMap
  • Java教程_软件开发基础
  • MySQL用户中的%到底包不包括localhost?
  • React-flux杂记
  • ViewService——一种保证客户端与服务端同步的方法
  • 闭包--闭包之tab栏切换(四)
  • 解析带emoji和链接的聊天系统消息
  • 前端路由实现-history
  • 如何编写一个可升级的智能合约
  • 使用iElevator.js模拟segmentfault的文章标题导航
  • 使用权重正则化较少模型过拟合
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • 微信开放平台全网发布【失败】的几点排查方法
  • 想写好前端,先练好内功
  • 硬币翻转问题,区间操作
  • 主流的CSS水平和垂直居中技术大全
  • MyCAT水平分库
  • ​MPV,汽车产品里一个特殊品类的进化过程
  • #include
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • (6)STL算法之转换
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (十)c52学习之旅-定时器实验
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (最完美)小米手机6X的Usb调试模式在哪里打开的流程
  • .net mvc 获取url中controller和action
  • .net 设置默认首页
  • .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(二)...
  • .NET/C# 中你可以在代码中写多个 Main 函数,然后按需要随时切换
  • .NET导入Excel数据
  • .NET企业级应用架构设计系列之结尾篇