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

黑马_10、使用 Express 写接口

作者:互联网

使用 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,黑马
来源: https://www.cnblogs.com/fhzmasl/p/16634338.html