import { FastifyInstance, FastifyPluginAsync, FastifyReply, FastifyRequest } from 'fastify' import fastifyPlugin from 'fastify-plugin' /** * 将post 和 get 的参数统一到 req.params */ declare module 'fastify' { interface FastifyInstance { zReqParser: (request: FastifyRequest, reply: FastifyReply) => {} } } const zReqParserPlugin: FastifyPluginAsync = async function (fastify: FastifyInstance, options?: any) { fastify.addHook('preValidation', async (request: FastifyRequest, reply: FastifyReply) => { let params = request.params || {} if (request.query) { Object.assign(params, request.query) } if (request.body) { Object.assign(params, request.body) } request.params = params }) return } export default fastifyPlugin(zReqParserPlugin, '4.x')