簡體   English   中英

Graphql 不返回數據

[英]Graphql doesn't return the data

我試圖根據 graphql 中的 id 查找特定數據。

但它正在返回 null 這是我的查詢和結果 .

我也嘗試過突變。 這也是它正在返回 null。

以下代碼有什么問題。

const { ApolloServer } = require("@apollo/server");
const { startStandaloneServer } = require("@apollo/server/standalone");

const students = [
  {
    name: "langesh",
    roll: 131,
  },
  {
    name: "ram",
    roll: 134,
  },
];

const typeDefs = `#graphql
    type Student {
        name: String,
        roll: Int,
    }

    type Query {
        students: [Student]
        student(roll: Int) : Student
    }
`;

const resolvers = {
  Query: {
    students: () => students,
    student: (parent, roll) => {
      return students.find((s) => s.roll === roll);
    },
  },
};

const server = new ApolloServer({ typeDefs, resolvers });

async function startServer() {
  const { url } = await startStandaloneServer(server, {
    listen: {
      port: 8000,
    },
  });
  console.log(`url : ${url}`);
}

startServer();

您需要解構解析器中的參數。

代替:

student: (parent, roll) => {
  return students.find((s) => s.roll === roll);
}

做:

student: (parent, { roll }) => {
  return students.find((s) => s.roll === roll);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM