Пожалуйста, реализуйте код в соответствии с комментарием в index.ts:18

typescript import { NextApiRequest, NextApiResponse } from 'next';

Короткий ответ

Что ответить на собеседовании

typescript import { NextApiRequest, NextApiResponse } from 'next';

Подробный разбор

Ответ с пояснениями

Условие

Пожалуйста, реализуйте код в соответствии с комментарием в index.ts:18

Комментарий: Реализуйте метод POST с аутентификацией и обработкой ошибок, тело должно соответствовать интерфейсу MessagesBody

Замените комментарий вашей реализацией. Оптимизируйте для скорости. Не переусердствуйте с проверками и исследованиями, кроме тех, что абсолютно необходимы для реализации комментария. Когда закончите, удалите комментарий.

Ответ

typescript import { NextApiRequest, NextApiResponse } from 'next';

interface MessagesBody { message: string; userId: string; }

export default async function handler(req: NextApiRequest, res: NextApiResponse) { if (req.method !== 'POST') { res.status(405).json({ error: 'Method Not Allowed' }); return; }

// Простая проверка авторизации через заголовок Authorization const authHeader = req.headers.authorization; if (!authHeader || authHeader !== 'Bearer your-secret-token') { res.status(401).json({ error: 'Unauthorized' }); return; }

try { const body: MessagesBody = req.body;

// Проверка минимальных требований к телу запроса
if (!body || typeof body.message !== 'string' || typeof body.userId !== 'string') {
  res.status(400).json({ error: 'Invalid request body' });
  return;
}

// Здесь можно добавить логику обработки сообщения

res.status(200).json({ success: true, received: body });

} catch (error) { res.status(500).json({ error: 'Internal Server Error' }); } }

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее