0
graphqliに乱数を入力すると、次のコードでクエリを作成し、APIと対話します。message: 'Cast to ObjectId failed for value "58d" at path "_id" for
がapiログに記録されます。GraphQLは結果を返しません(nullを返します)
私はノードフェッチを使ってAPIを打つことを知っていますが、なぜ私の名前を返さないのかわかりません。私が使用しています:
{
language(id:"58d80f843ad415941d8f908b"){
name
}
}
私はマングースやNodeJSと私のAPIを構築しています。誰かが私は偉大であるJSONに応答を変換しましたが、私は(json => json.language)
をしていた直後に起こった私のgetLanguageByURL
機能で誤ったデータを返すために、ノードは、フェッチなっていた:(
var fetch = require('node-fetch');
var { GraphQLSchema } = require('graphql');
var { GraphQLObjectType } = require('graphql');
var { GraphQLString } = require('graphql');
var BASE_URL = "http://localhost:3030";
function getLanguageByURL(relativeURL){
return fetch(`${BASE_URL}${relativeURL}`)
.then(res => res.json())
.then(json => json.language)
}
var LanguageType = new GraphQLObjectType({
name: 'Language',
description: '...',
fields:() => ({
name: {type: GraphQLString},
}),
});
var QueryType = new GraphQLObjectType({
name: 'Query',
description: '...',
fields:() => ({
language: {
type: LanguageType,
args: {
id: {type: GraphQLString},
},
resolve: (root, args) =>
getLanguageByURL(`/languages/${args.id}`)
}
}),
});
module.exports.schema = new GraphQLSchema({
query: QueryType,
});
あなたが提供している 'id'は有効なmongodb' ObjectId'レゾルバを更新すると、 'id 'を' _id'に渡していると思いますので、 'error'を投げています!Qにリゾルバを追加してください! –