📜  express 向 api 发出请求 - Javascript (1)

📅  最后修改于: 2023-12-03 15:30:41.356000             🧑  作者: Mango

Express 向 API 发出请求 - Javascript

在Web开发过程中,经常需要从其他服务获取数据。这时,我们需要发送请求到API端点以获取数据。本文将介绍如何使用Express向API发出GET和POST请求,以读取或写入数据。

环境准备

在使用Express之前,需要先安装它。在项目目录下执行以下命令安装:

npm install express --save
发出GET请求

GET请求用于从API读取数据。我们可以使用Node.js内置的http模块或第三方模块如request或axios来发送GET请求。下面是使用Express发出GET请求的例子:

const express = require('express')
const app = express()

app.get('/api/users', (req, res) => {
  const users = [
    { id: 1, name: 'John' },
    { id: 2, name: 'Peter' },
    { id: 3, name: 'Mary' },
  ]
  res.json(users)
})

app.listen(3000, () => console.log('Server started'))

在上例中,我们创建了一个Express应用,监听3000端口。当收到/api/users请求时,我们返回一个包含3个用户对象的JSON数组。

发出POST请求

POST请求用于向API写入数据。我们可以使用Node.js内置的http模块或第三方模块如request或axios来发送POST请求。下面是使用Express发出POST请求的例子:

const express = require('express')
const bodyParser = require('body-parser')
const app = express()

app.use(bodyParser.json())

app.post('/api/users', (req, res) => {
  const user = req.body
  console.log(user)
  res.send('OK')
})

app.listen(3000, () => console.log('Server started'))

在上例中,我们使用body-parser中间件来解析请求体中的JSON数据。当收到/api/users POST请求时,我们提取请求体的JSON数据并将其打印到控制台,然后返回一个'OK'响应。

发出PUT请求和DELETE请求

PUT请求和DELETE请求同样可以使用Express来发送。它们的实现与发出GET请求和POST请求类似。下面是使用Express发出PUT请求和DELETE请求的例子:

const express = require('express')
const app = express()

app.put('/api/users/:id', (req, res) => {
  const id = req.params.id
  const user = req.body
  console.log('Updating user ' + id + ' with data:', user)
  res.send('OK')
})

app.delete('/api/users/:id', (req, res) => {
  const id = req.params.id
  console.log('Deleting user with id:', id)
  res.send('OK')
})

app.listen(3000, () => console.log('Server started'))

在上例中,我们使用PUT请求来更新一个用户对象,使用DELETE请求来删除一个用户对象。在PUT请求中,我们提取请求路径参数id和请求体JSON数据。在DELETE请求中,我们提取请求路径参数id并打印它,在实际情况中我们会使用这个id来删除指定用户。

结语

这篇文章介绍了使用Express向API发出GET、POST、PUT和DELETE请求的方法。希望能为你在Web开发中使用Express提供一些帮助。