一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第11天,点击查看活动详情。
创建基本的服务器
// 导入 express 模块
const express = require('express')
// 创建 express 的服务器实例
const app = express()
// 调用 app.listen 方法,指定端口号开启 web 服务器
app.listen(80, ()=> {
console.log('express 服务器运行在 http://127.0.0.1.80')
})
创建 API 路由模块
-
创建路由模块
const express = require('express') const router = express.Router() // 导出路由 module.exports = router -
调用路由模块
// 导入 express 模块 const express = require('express') // 创建 express 的服务器实例 const app = express() // 导入路由模块 const router = require('./apiRouter') // 在 app 上注册路由模块 app.use('/api', router) // 调用 app.listen 方法,指定端口号开启 web 服务器 app.listen(80, ()=> { console.log('express 服务器运行在 http://127.0.0.1.80') })
编写 GET 接口
在路由模块添加 GET 请求,只需要更新路由模块
const express = require('express')
const router = express.Router()
router.get('/get', (req, res) => {
// 1、获取到客户端通过查询字符串,发送到服务器的数据
const query = req.query
// 2、调用 res.send() 方法,把数据响应给客户端
res.send({
//状态 0表示成功,1表示失败
status:0,
//状态描述
msg:'GET 请求',
//需要响应给客户端的具体数据
data:query
})
})
module.exports = router
编写 POST 接口
在路由模块添加 POST 请求,如果要获取 URL-encoded 格式的请求体数据,必须配置中间件 express.urlencoded({extended: false}),不然就拿不到请求体中的数据
-
路由模块
const express = require('express') const router = express.Router() router.post('/post', (req, res) =>{ // 1、通过 req.body 获取请求体中包含的 URL-encoded 格式的数据 const body = req.body // 2、调用 res.send() 方法,把数据响应给客户端 res.send({ //状态 0表示成功,1表示失败 status:0, //状态描述 msg:'POST 请求', //需要响应给客户端的具体数据 data:body }) }) module.exports = router -
调用路由模块(需要配置解析表单数据的中间件)
// 导入 express 模块 const express = require('express') // 创建 express 的服务器实例 const app = express() //配置解析表单数据的中间件 app.use(express.urlencoded({extended: false})) // 导入路由模块 const router = require('./apiRouter') // 在 app 上注册路由模块 app.use('/api', router) // 调用 app.listen 方法,指定端口号开启 web 服务器 app.listen(80, ()=> { console.log('express 服务器运行在 http://127.0.0.1.80') })