Skip to content
On this page

自定义请求响应内容

如果需要设置复杂的响应内容,可以使用 response 方法, 该方法是一个 middleware,你可以在这里拿到 http 请求的 req、res等信息, 然后通过 res.write() | res.end() 返回响应数据, 否则需要执行 next() 方法。 在 req 中,还可以拿到 query、params、body, refererQuery 等已解析的请求信息。

ts
import { defineMock } from 'vite-plugin-mock-dev-server'

export default defineMock([
  {
    url: '/api/custom-response',
    response(req, res) {
      const { query = {} } = req
      res.setHeader('Content-Type', 'application/json')
      res.statusCode = 200
      res.end(
        JSON.stringify({
          message: 'custom response',
          query,
        }),
      )
    },
  },
  {
    url: '/api/custom-response-skip',
    response(req, res, next) {
      if (req.query.skip === '1') {
        next()
      } else {
        res.end('')
      }
    },
  },
])
import { defineMock } from 'vite-plugin-mock-dev-server'

export default defineMock([
  {
    url: '/api/custom-response',
    response(req, res) {
      const { query = {} } = req
      res.setHeader('Content-Type', 'application/json')
      res.statusCode = 200
      res.end(
        JSON.stringify({
          message: 'custom response',
          query,
        }),
      )
    },
  },
  {
    url: '/api/custom-response-skip',
    response(req, res, next) {
      if (req.query.skip === '1') {
        next()
      } else {
        res.end('')
      }
    },
  },
])

Released under the MIT License.