FBS*_*BSO 4 apollo apollo-server prisma graphql-codegen
我正在使用 apollo-server-lambda、Prisma ORM 和 graphql-codegen。
我有getBookById一个返回Book. Book包含一个名为 的枚举BookStatus。我希望能够在操场上以 ENUM 形式返回,但出现错误:
无法为不可为 null 的字段 Book.bookStatus 返回 null。
图书状态 - TypeDef
enum BookStatus {
OPEN
DRAFT
CLOSED
}
Run Code Online (Sandbox Code Playgroud)
书籍 - TypeDef
type Book {
id: ID!
title: String!
bookStatus: BookStatus!
}
Run Code Online (Sandbox Code Playgroud)
getBookById - TypeDef
type Query {
getBookById(getBookByIdInput: GetBookByIdInput): Book
}
Run Code Online (Sandbox Code Playgroud)
解决了:
问题是我使用 Prisma 作为 ORM。当我拿到一本新书时,我正在编写代码:
const foundBook = await prisma.book.findUnique({
where: {
id: bookId
}
});
Run Code Online (Sandbox Code Playgroud)
问题是这本书是使用以下代码创建的:
const newBook = await prisma.book.create({
data: {
user_id: userId,
title: title,
author: author,
publication_year: publicationYear,
isbn: isbn,
photos: photos,
book_condition: bookCondition,
exchange_yype: exchangeType,
book_status: bookStatus,
},
});
return newBook;
};
Run Code Online (Sandbox Code Playgroud)
Snake_case 和 CamelCase 的混合造成了这个问题。一旦一切都变成驼峰式,问题就解决了。
| 归档时间: |
|
| 查看次数: |
685 次 |
| 最近记录: |