json-服务器中间件未按预期工作

json-server middleware not working as expected

使用节点。js/Express/json-server

我正在尝试检查(和修改)发送到我的 API json-服务器的请求 url。我在我的应用程序 server.js

中按照说明编写了以下中间件
//  API JSON-SERVER
const jsonServer = require('json-server')
const apiServer = jsonServer.create()
const apiMiddlewares = jsonServer.defaults()
apiServer.use(apiMiddlewares)
...
apiServer.use((req, res, next) => {
  console.log('REQUEST: ', req)  
  next() // Continue to JSON Server Router  
})
...
apiRouter = jsonServer.router(path.join(__dirname, '..', 'server', 'db-dev.json'))
app.use('/api', apiRouter)

但我从未收到显示的请求 我哪里错了?

我看了这里

https://github.com/typicode/json-server/issues/253

在我看来,您永远不想实例化 jsonServer,而只想使用路由器。由于您使用的是快速服务器,因此您应该将中间件附加到该服务器。

const express = require('express')
const jsonServer = require('json-server')

const app = express()

app.use((req, res, next) => {
 console.log('REQUEST: ', req)  
 next() // Continue to JSON Server Router   
})

app.use('/api', jsonServer.router(path.join(__dirname, '..', 'server', 'db-dev.json')))