0

標準の apollo graphql-server-expressで HTTP fetch リクエストを作成するのに苦労しています

graphql.orgのガイダンスに従ってみましたが、役に立ちませんでした。

これをテストするために、Fusetools News Feed Exampleを使用し、標準の http を使用して apollo-server への呼び出しでフェッチ呼び出しを切り替えています。

```

fetch('https://localhost:8080/graphql', {
                "method": 'POST',
                "headers": { "Content-type": "application/graphql", "Accept": "application/json"},
                "body": {"query": "{ places { id name address city }" }
            })
            .then(function(response) { return response.json; })
            .then(function(responseObject) { data.value = responseObject; });

```

これは、返されたフィールドのみが変更された完全なコードです。

```

<DockPanel>
    <JavaScript>
        var Observable = require("FuseJS/Observable");

        var data = Observable();
        fetch('https://localhost:8080/graphql', {
            "method": 'POST',
            "headers": { "Content-type": "application/graphql", "Accept": "application/json"},
            "body": {"query": "{ places { id name address city }" }
        })
        .then(function(response) { return response.json; })
        .then(function(responseObject) { data.value = responseObject;                });


        module.exports = {
            dataSource: data
        };
    </JavaScript>

    <StatusBarBackground Dock="Top" />
    <BottomFrameBackground Dock="Bottom" />

    <StackPanel Dock="Top">
        <Text FontSize="28" Alignment="VerticalCenter"
            TextAlignment="Center" Padding="2"
            Value="NEWS" />
        <Rectangle Height="1" Margin="0,3,0,0" Fill="#333c48" />
    </StackPanel>

    <Text ux:Class="Header" Margin="10,10,10,5" TextWrapping="Wrap" FontSize="22" />
    <Text ux:Class="Article" Margin="10,0,10,0" TextWrapping="Wrap" FontSize="13" />
    <Text ux:Class="PublishedDate" Margin="10,0,10,0" FontSize="13" Color="#999" />

    <ScrollView>
        <StackPanel Alignment="Top">
            <Panel Height="7" />
            <Each Items="{dataSource.data.places}">
                <Panel ux:Class="HorizontalBar" Margin="46,10,0,10"
                        Alignment="VerticalCenter">
                    <Rectangle Height="1" Fill="#dcdee3" />
                </Panel>

                <Header Value="{name}" />
                <Article Value="{address}" />
                <PublishedDate Value="{city}" />
                <HorizontalBar />
            </Each>
        </StackPanel>
    </ScrollView>

</DockPanel>

``` ガイダンスをいただければ幸いです。ありがとうございました。

4

1 に答える 1

0

Graphqlサーバーへのフェッチを使用するために、私の場合に機能した適切な構文は次のとおりです。ありがとう、ダニエル。

fetch('https://graphql-swapi.parseapp.com/', {
  method: 'POST',
  headers: { "Content-type": "application/json", "Accept": "application/json"},
  body: JSON.stringify({"query":"{allFilms {totalCount}}","variables":null,"operationName":null})
}).then(function(response) { return response.json(); })
.then(function(responseObject) { console.log('GOT', JSON.stringify(responseObject, null, '  ')); });
于 2016-11-05T21:19:16.737 に答える