From 1cb3b4e265b868796851f34fee91e94b7d26f4a5 Mon Sep 17 00:00:00 2001 From: Tim Neutkens Date: Tue, 5 Mar 2024 14:56:56 +0100 Subject: [PATCH] Fix with-joi example (#62877) ## What? `next-connect` signature has changed so the example failed to run. Closes NEXT-2712 --- examples/with-joi/pages/api/people.js | 13 +++++++++++-- examples/with-joi/pages/api/people/[id].js | 12 ++++++++++-- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/examples/with-joi/pages/api/people.js b/examples/with-joi/pages/api/people.js index 73aeff5a54..987dc44d67 100644 --- a/examples/with-joi/pages/api/people.js +++ b/examples/with-joi/pages/api/people.js @@ -1,14 +1,23 @@ import Joi from "joi"; -import connect from "next-connect"; +import { createRouter } from "next-connect"; import { validate } from "../../server/api/middlewares/validate"; +const router = createRouter(); + const personSchema = Joi.object({ age: Joi.number().required(), name: Joi.string().required(), }); -export default connect().post(validate({ body: personSchema }), (req, res) => { +router.post(validate({ body: personSchema }), (req, res) => { const person = req.body; return res.status(201).json({ data: person }); }); + +export default router.handler({ + onError: (err, req, res) => { + console.error(err.stack); + res.status(err.statusCode || 500).end(err.message); + }, +}); diff --git a/examples/with-joi/pages/api/people/[id].js b/examples/with-joi/pages/api/people/[id].js index d7a4cdf73e..f058068fe9 100644 --- a/examples/with-joi/pages/api/people/[id].js +++ b/examples/with-joi/pages/api/people/[id].js @@ -1,8 +1,9 @@ import Joi from "joi"; -import connect from "next-connect"; +import { createRouter } from "next-connect"; import { validate } from "../../../server/api/middlewares/validate"; -export default connect().get( +const router = createRouter(); +router.get( validate({ query: Joi.object({ id: Joi.string().uuid().required(), @@ -18,3 +19,10 @@ export default connect().get( }); }, ); + +export default router.handler({ + onError: (err, req, res) => { + console.error(err.stack); + res.status(err.statusCode || 500).end(err.message); + }, +});