使用node.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,而只想使用路由器。由于您使用的是Express服务器,因此应将中间件连接到该服务器。

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')))

07-24 17:05