首页 > 其他分享 >黑马_10、使用 Express 写接口

黑马_10、使用 Express 写接口

时间:2022-08-28 22:58:57浏览次数:50  
标签:10 Express const req res app express router 黑马

使用 Express 写接口步骤如下

1 创建基本的服务器

代码:

// 导入 express
const express = require('express')
// 创建服务器实例
const app = express()

//write your code here...

// 调用app.listen()方法指定端口号并启动服务器
app.listen(80, () => {
  console.log('express server running at http://127.0.0.1')
})

2 创建 API 路由模块

代码:

//apiRouter.js[路由模块文件]
const express = require('express')
const router = express.Router()

// 在这里挂载对应的路由....

//向外暴露路由对象
module.exports = router


//---------------------------分割线


//app.js[app.js文件导入并注册路由模块]
// 导入路由模块
const router = require('./apiRouter')
// 把路由模块,注册到 app 上
app.use('/api', router)

3 编写 GET 接口

代码:


router.get('/get', (req, res) => {
  // 通过 req.query 获取客户端通过查询字符串,发送到服务器的数据
  const query = req.query
  // 调用 res.send() 方法,向客户端响应处理的结果
  res.send({
    status: 0, // 0 表示处理成功,1 表示处理失败
    msg: 'GET 请求成功!', // 状态的描述
    data: query, // 需要响应给客户端的数据
  })
});

4 编写 POST 接口

代码:

router.post('/post', (req, res) => {
  // 通过 req.body 获取请求体中包含的 url-encoded 格式的数据
  const body = req.body
  // 调用 res.send() 方法,向客户端响应结果
  res.send({
    status: 0,
    msg: 'POST 请求成功!',
    data: body,
  })
})

注意:如果要获取 URL-encoded 格式的请求体数据,必须配置中间件 app.use(express.urlencoded({ extended: false }))

上面4个步骤的代码
App.js

// 导入 express
const express = require('express')
// 创建服务器实例
const app = express()

// 配置解析表单数据的中间件
app.use(express.urlencoded({ extended: false }))

// 导入路由模块
const router = require('./16.apiRouter')
// 把路由模块,注册到 app 上
app.use('/api', router)

// 启动服务器
app.listen(80, () => {
  console.log('express server running at http://127.0.0.1')
})

Router.js

const express = require('express')
const router = express.Router()

// 在这里挂载对应的路由
router.get('/get', (req, res) => {
  // 通过 req.query 获取客户端通过查询字符串,发送到服务器的数据
  const query = req.query
  // 调用 res.send() 方法,向客户端响应处理的结果
  res.send({
    status: 0, // 0 表示处理成功,1 表示处理失败
    msg: 'GET 请求成功!', // 状态的描述
    data: query, // 需要响应给客户端的数据
  })
})

// 定义 POST 接口
router.post('/post', (req, res) => {
  // 通过 req.body 获取请求体中包含的 url-encoded 格式的数据
  const body = req.body
  // 调用 res.send() 方法,向客户端响应结果
  res.send({
    status: 0,
    msg: 'POST 请求成功!',
    data: body,
  })
})

module.exports = router

5 CORS 跨域资源共享

标签:10,Express,const,req,res,app,express,router,黑马
From: https://www.cnblogs.com/fhzmasl/p/16634338.html

相关文章

  • gym-103708E Erudite of words
    Eruditeofwords组合数学+容斥定义\(F_i\):表示由\(i\)个字母组成的长度为\(n\)的单词数(每个字母必须在单词中出现)显然答案就是\(F_k*C_{m}^{k}\)关于\(F_i......
  • PAT Advanced 1029 Median(25)
    题目描述:GivenanincreasingsequenceSofNintegers,themedianisthenumberatthemiddleposition.Forexample,themedianofS1={11,12,13,14}is1......
  • Python3项目初始化10-->JS基础、dom、jquery、database
    29、JS基础var定义变量数字字符串和Python一样布尔值true和false首字母不大写逻辑判断if(){}elseif(){}else{}借助浏览器console执行操作,见截图。   ......
  • golang json使用10、-10、0表示,true、false、null
    packagemainimport("encoding/json""errors""fmt")typeAstruct{BrBoolean`json:"br"`}funcmain(){varcAe:=json.Unm......
  • 100套计算机专业java毕设项目
    100套java开学内卷项目论文源码随你挑今天分享100套计算机Java设计项目,可练手又可当毕设,而且包含了参考论文文档资料;有需要的可以翻翻看    源码获取百度网盘:......
  • 使用idea中的mysql可视化工具,出现[42000][1064] You have an error in your SQL synta
    今天使用idea中mysql的可视化工具进行开发,当我想要插入一行数据时,发现无法插入,产生如下错误。   [42000][1064]YouhaveanerrorinyourSQLsyntax;checkthe......
  • 10.日不落
    天空的雾来得漫不经心河水像油画一样安静和平鸽慵懒步伐押着韵心偷偷的放晴祈祷你像英勇的禁卫军动也不动的守护爱情你在回忆里留下的脚印是我爱的风景我要送你......
  • gym-103708D Different Pass a Ports
    DifferentPassaPorts矩阵快速幂模板图的邻接矩阵的\(k\)次幂就是从图上所有点走\(k\)步的方案数#include<iostream>#include<cstdio>usingnamespacestd;......
  • gym-103708F Froginald the frog
    Froginaldthefrog矩阵快速幂如果没有分隔的话,这就是一个矩阵快速幂求斐波那契的问题因为有分隔,因此考虑他们分成若干个块,每个块的方案数之积就是答案,显然分隔的长度如......
  • gym-103708B Building 5G antennas
    Building5Gantennasdfs剪枝要字典序最小,显然第一个点就是\(1\),后面考虑走\(k\)步后能到达的点集中选一个字典序最小的,重复该过程考虑\(set[i][j]\)表示第\(i\)......