Я пытаюсь настроить схему для сервера Apollo, и у меня возникает ошибка. Я не совсем уверен, как поставить этот вопрос, поэтому я опубликую текст / код, чем это необходимо.
"message": "Невозможно вернуть ноль для необнуляемого поля User.id."
Мои средства распознавания / индекс. js выглядят так:
import * as Mutation from "./Mutation";
import * as Query from "./Query";
import User from "./User";
const resolvers = { Mutation, Query, User };
console.log(resolvers);
export default resolvers;
, который выдает следующий результат:
{
Mutation: {
createListing: [Getter],
updateListing: [Getter],
deleteListing: [Getter],
createUser: [Getter]
},
Query: { listings: [Getter], listing: [Getter], userLogin: [Getter] },
User: [AsyncFunction: user]
}
Мой файл typeDefs выглядит следующим образом
import { gql } from "apollo-server";
const typeDefs = gql`
type Listing {
description: String!
id: ID!
title: String!
createdBy: User!
}
type User {
id: ID!
email: String!
}
type AuthData {
id: ID!
token: String!
expiresIn: String!
}
input UserInput {
email: String!
password: String!
}
input ListingInput {
id: ID
title: String!
description: String!
}
type Mutation {
createUser(userInput: UserInput): User!
createListing(listingInput: ListingInput): Listing!
updateListing(listingInput: ListingInput): Listing!
deleteListing(id: ID!): Boolean!
}
type Query {
listings: [Listing!]!
listing(id: ID!): Listing!
userLogin(userInput: UserInput): AuthData!
}
`;
export default typeDefs;
Проблема в том, что я не знаю, как получить пользовательские данные о типе листинга
createBy на самом деле ID! поле, и я хотел бы, чтобы GraphQL получил данные пользователя для меня. Ниже приведен запрос, который я пытался использовать.
query {
listing(id: 35)
{
id
title
createdBy {
id
email
}
}
}
Graphql новичок здесь. Я использую правильный подход? Я также могу предоставить репо git, если это необходимо. Как мне реорганизовать это, чтобы оно работало?