Аргумент типа «неизвестно» не может быть назначен параметру типа «Пост», когда проверка типа Prisma не удалась.

Я создал свою базу данных Prisma PostgreSQL с таблицей Post. Теперь я создаю файл API, чтобы иметь возможность извлекать данные из моей базы данных в папке Next js 13 «pages/api» , и назвал файл getPosts.ts .

Я определил тип Post и и включил его в NextApiResponse вот так.

Проблема в том, что возвращаемые данные json не используют тип даже при применении. вместо этого он показывает данные как «любые» . по ошибке тоже.

Это таблица schema.prisma :

      model Post {
  id        Int     @id @default(autoincrement())
  title     String
  image     String?
  content   String?
  published Boolean @default(false)
}

Это мои страницы/api/getPosts.ts , которые возвращают эту ошибку/предупреждение:

      import type { NextApiRequest, NextApiResponse } from "next";
import prisma from "@prisma/client";

type Post = {
  id: number;
  title: string;
  image?: string;
  content?: string;
  published: boolean;
};

export default async function handler(
  req: NextApiRequest,
  res: NextApiResponse<Post> // <= The Type.
) {
  // Get Prisma to fetch the posts
  if (req.method === "GET") {
    try {
      const data = await prisma.post.findMany();
      return res.status(200).json(data); // Shows any?
    } catch (error) {
      return res.status(500).json(error); // Shows any?
    }
  }
}

Как я могу передать правильные типы данных?

0 ответов

Другие вопросы по тегам