В Next.js 13.4 можно добавить типизацию на req.json()
с помощью использования типа NextApiRequest
, который предоставляется вместе с Next.js для типизации HTTP-запросов.
Чтобы добавить типизацию на req.json()
, вам нужно сначала импортировать и добавить типы для NextApiRequest:
import { NextApiRequest } from 'next';
Затем вы можете использовать тип NextApiRequest
для типизации аргумента req
в вашем обработчике API:
const handler = async (req: NextApiRequest, res: NextApiResponse) => { // Мы предполагаем, что тело запроса является объектом JSON const data = req.json(); // Вы можете добавить типы данных для объекта JSON const name: string = data.name; const age: number = data.age; // Ваш код обработки запроса res.status(200).json({ message: 'Success' }); };
Теперь у вас есть типизированный доступ к данным JSON из тела запроса. Вы можете добавить дополнительные типы или проверки по мере необходимости.
Обратите внимание, что в req.json()
возвращает промис, поэтому вам нужно использовать await
или обрабатывать его результаты с помощью методов .then()
и .catch()
. Если вы используете await
, то весь обработчик должен быть помечен как async
.
Также обратите внимание, что тип NextApiRequest
не включает тип данных JSON, поэтому вам нужно определить дополнительные типы данных для вашего объекта JSON, например, data
. Вы можете использовать интерфейсы или типы TypeScript для этого.