Tidak dapat menerima data mysql melalui GraphQL
P粉092778585
2023-08-29 18:02:24
<p>Saya cuba menggunakan GraphQL dan mysql dalam pelayan Node.js Express. </p>
<p>Tetapi setiap kali saya menjalankan pertanyaan, saya mendapat ralat berikut: </p>
<p>Mesej ralat adalah seperti berikut:</p>
<pre class="brush:php;toolbar:false;">{
"kesilapan": [
{
"mesej": "Dijangka Boleh Lelar, tetapi tidak menemui satu untuk medan "RootQueryType.getAllGoals".",
"lokasi": [
{
"baris": 2,
"lajur": 3
}
],
"jalan": [
"getAllGoals"
]
}
],
"data": {
"getAllGoals": null
}
}</pre>
<p>Ini adalah pertanyaan GraphQL saya: </p>
<pre class="brush:php;toolbar:false;">pertanyaan {
getAllGoals {
tajuk
kemajuan
Matlamat
}
}</pre>
<p>Saya mendapat hasil yang diharapkan daripada "PILIH * DARI (JADUAL SAYA)", tetapi apabila saya cuba mengembalikannya sebagai penyelesai GraphQL, ia memberi saya ralat seperti ini: < ;/p>
<pre class="brush:php;toolbar:false;">const RootQuery = GraphQLObjectType baharu({
nama: "RootQueryType",
medan: {
getAllGoals: {
jenis: GraphQLList baharu(GoalType),
menyelesaikan(ibu bapa, args) {
kembalikan db.query("PILIH * DARI myTable", (err, hasil) ==> {
jika (err) membuang err
console.log(JSON.parse(JSON.stringify(result)))
kembalikan JSON.parse(JSON.stringify(result))
})
}
}
}
})</pre>
<p>Saya telah menyemak GraphQLObjectType GoalType saya untuk sebarang konflik, tetapi tidak menemui apa-apa. </p>
Saya sudah membetulkannya, saya hanya perlu membuat janji yang mengandungi pertanyaan (seperti di bawah):