【Express】起步 - 路由基础 - 请求对象request - 响应对象response - 增删改查API案例

1. 起步

2021 最新最全 Express 教程(基础+实战+原理),B 站最好,没有之一

1.1 文档

https://www.expressjs.com.cn/

在这里插入图片描述

1.2 安装

npm i express

在这里插入图片描述
安装接口测试工具Postman
https://www.postman.com/downloads/

1.3 Hello World

创建app.js文件

const express = require("express");

const app = express();
const port = 3000 // 默认3000

app.get("/", (req, res) => {
   
  res.send("Hello World");
});

app.listen(3000, () => {
   
  console.log(`Server running at http://localhost:${
     port}/`);
});

运行app.js
在这里插入图片描述
打开网页
在这里插入图片描述
可以使用nodemon启动程序
在这里插入图片描述
这样可以检测文件变化,自动更新程序

Postman接口测试
在这里插入图片描述

2. 路由基础

路由是指确定应用程序响应客户端对特定端点的请求,该特定端点是URI和特定HTTP请求方法(GET/POST等)
每个路由可以具有一个或多个处理程序函数,这些函数在匹配该路由时执行

路由定义采用以下结构

app.METHOD(path, handle)
  • app Express实例
  • METHOD 小写的HTTP请求方法
  • path 服务器上的路由路径
  • handle 当路由匹配时执行的处理函数

更多路由相关
https://www.expressjs.com.cn/guide/routing.html

demo

  1. 在根路径响应 ‘Hello World’
app.get('/', (req, res) => {
   
  res.send('Hello World')
})

在这里插入图片描述

  1. 在根路径响应POST请求
app.post('/', (req, res) => {
   
  res.send('Got a POST request')
})

在这里插入图片描述

  1. 响应对/user路径的PUT请求
app.put("/user", (req, res) => {
   
  res.send("Got a POST request at /user");
});

在这里插入图片描述

  1. 响应对/user路径的DELETE 请求
app.delete("/user", (req, res) => {
   
  res.send("Got a DELETE request at /user");
});

在这里插入图片描述

3. 请求和响应

Express 应用使用路由回调函数的参数 requestresponse 对象来处理请求响应的数据

app.get('/', (request, response)=>{
   
	// ...
})

Express不对Node.js已有的特性进行二次抽象,只是在它之上拓展了web应用所需的基本功能

  • 内部使用的还是http模块
  • 请求对象继承自 http.IncomingMessage
  • 响应对象继承自 http.ServerResponse

Express拓展了HTTP模块中的请求和响应对象

3.1 请求对象 request

API

Node.js https://nodejs.org/dist/latest-v14.x/docs/api/http.html在这里插入图片描述

Express https://www.expressjs.com.cn/4x/api.html#req
在这里插入图片描述

request 对象代表HTTP请求,并具有请求查询字符串,参数,正文,HTTP标头等属性

app.get("/", (request, res) => {
   
  console.log("request.url:", request.url);
  console.log("request.method:", request.method);
  console.log("request.headers:", request.headers);
  console.log('请求参数:', request.query)
  res.send("Hello World");
});

postman发送请求
在这里插入图片描述

控制台输出
在这里插入图片描述

3.2 响应对象 response

Node.js https://nodejs.org/dist/latest-v14.x/docs/api/http.html
在这里插入图片描述

Express https://www.expressjs.com.cn/4x/api.html#res

在这里插入图片描述

app.get("/", (request, response) => {
   
  // 设置响应状态码
  // response.statusCode = 201

  // response.write('a')
  // response.write('b')
  // response.write('c')

  // 结束响应
  // response.end()
  // response.end('efg')

  // response.send("Hello World");
  // response.send({
   
  //   name: 'yk'
  // })
  response.cookie('yk', 'kk')
  response.status(
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值