Return ENUM - 不能为非空字段 return null
Return ENUM - Cannot return null for non-nullable field
我正在使用 apollo-server-lambda、Prisma ORM 和 graphql-codegen。
我有一个查询 (getBookById
) return 是 Book
。 Book
包含一个名为 BookStatus
的枚举。我希望能够在 playground 的 ENUM 中 return,但出现错误:
Cannot return null for non-nullable field Book.bookStatus.
BookStatus - TypeDef
enum BookStatus {
OPEN
DRAFT
CLOSED
}
图书 - TypeDef
type Book {
id: ID!
title: String!
bookStatus: BookStatus!
}
getBookById - TypeDef
type Query {
getBookById(getBookByIdInput: GetBookByIdInput): Book
}
已解决:
问题是我使用 Prisma 作为 ORM。
刚拿到新书的时候,正在写代码:
const foundBook = await prisma.book.findUnique({
where: {
id: bookId
}
});
问题是这本书是使用以下代码创建的:
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;
};
snake_case 和驼峰式混合造成了这个问题。
一旦一切都是驼峰式,问题就解决了。
我正在使用 apollo-server-lambda、Prisma ORM 和 graphql-codegen。
我有一个查询 (getBookById
) return 是 Book
。 Book
包含一个名为 BookStatus
的枚举。我希望能够在 playground 的 ENUM 中 return,但出现错误:
Cannot return null for non-nullable field Book.bookStatus.
BookStatus - TypeDef
enum BookStatus {
OPEN
DRAFT
CLOSED
}
图书 - TypeDef
type Book {
id: ID!
title: String!
bookStatus: BookStatus!
}
getBookById - TypeDef
type Query {
getBookById(getBookByIdInput: GetBookByIdInput): Book
}
已解决:
问题是我使用 Prisma 作为 ORM。 刚拿到新书的时候,正在写代码:
const foundBook = await prisma.book.findUnique({
where: {
id: bookId
}
});
问题是这本书是使用以下代码创建的:
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;
};
snake_case 和驼峰式混合造成了这个问题。 一旦一切都是驼峰式,问题就解决了。