0
ブログの投稿http://graphql.org/blog/rest-api-graphql-wrapper/ に記載されている手順に従ってこのブログを終了しました。独自のREST APIでgraphQLエンドポイントを作成しました。コンソールにコールを記録すると、正しい応答が生成されているのがわかりますが、GraphiQL IDEではデータは常にNULLです。理由は何でしょうか?ここでGraphQL over REST APIを実行するとnullデータが返される
私のコードです:
import {
\t GraphQLSchema,
\t GraphQLObjectType,
\t GraphQLString,
} from 'graphql'
import fetch from 'node-fetch'
const BASE_URL = 'http://localhost/my.test.web/api/v1/customer/91/reservation'
const ReservationType = new GraphQLObjectType({
\t name: 'Reservation',
\t description: 'This is reservation details',
\t
\t
\t fields:() => ({
\t \t id: {type: GraphQLString},
\t \t confirmationNumber: {
\t \t \t type: GraphQLString,
\t \t \t resolve: (reservation) => reservation.confirmationNumber
\t \t },
\t \t status: {
\t \t \t type: GraphQLString,
\t \t \t resolve: (reservation) => reservation.status
\t \t }
\t \t
\t })
});
const QueryType = new GraphQLObjectType(
{
\t name: "query",
\t description: "This is query by Id",
\t
\t fields:() => ({
\t \t \t reservation: {
\t \t \t \t type: ReservationType,
\t \t \t \t args: {
\t \t \t \t \t id: {type: GraphQLString}
\t \t \t \t },
\t \t \t \t resolve: (root, args) => {
\t \t \t \t \t var url = BASE_URL+ '/' + args.id;
\t \t \t \t \t console.log(url);
\t \t \t \t \t var options = {
\t \t \t \t \t \t headers: {
\t \t \t \t \t \t 'Accept': 'application/json',
\t \t \t \t \t \t 'Accept-Language':'en-US'
\t \t \t \t \t \t }
\t \t \t \t \t }; \t \t \t \t \t
\t \t \t \t \t fetch(url,options)
\t \t \t \t \t .then(function(res) {
\t \t \t \t \t \t return res.json();
\t \t \t \t \t }).then(function(json) {
\t \t \t \t \t \t console.log(json);
\t \t \t \t \t \t return json;
\t \t \t \t \t });
\t \t \t \t \t }
\t \t \t }
\t \t }
\t)
});
export default new GraphQLSchema(
\t \t {
\t \t \t query: QueryType,
\t \t }
\t)
私はgraphiQLを使用して、これを実行すると表現したとき、私はログが正しく、コードのこの部分によって生成されていることがわかります -
.then(function(json) {
console.log(json);
return json;
}
GraphiQL UIでは、データはnullです。 GraphiQL IDE query screenshot
魔法のように動作します:「」各ブロックの終わりとも決意の周りにラッパーを削除注意してくださいlogステートメントAPIから返された正しいJSONを確認できましたが、GraphiQL UIではnullです – Kiran