Аргумент типа «неизвестно» не может быть назначен параметру типа «Пост», когда проверка типа 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?
}
}
}
Как я могу передать правильные типы данных?