Panda Noir

JavaScript の限界を究めるブログでした。最近は幅広めに書いてます。

NodeでGraphQLのリクエストを出す

Nodeだとカンタンにアクセスできる

$ npm i --save superagent をしたらあとは以下でアクセスできます。

const request = require('superagent');

request
    .post('http://localhost:8080')
    .send(`
query {
    user(name: "香風智乃") {
        name, age
    }
}`)
    .end((_, res) => {
        console.log(JSON.parse(res.text));
    });

めちゃくちゃカンタンですよね。

おまけ: PHPでアクセスする方法

適宜php-curlをインストールしてphp.iniをいじってください。

<?php
$url = "http://localhost:8080";

$curl = curl_init($url);

$options = array(
  CURLOPT_HTTPHEADER => array( 'Accept: application/json' ),
  CURLOPT_POST => true,
  CURLOPT_POSTFIELDS => 'query {user(name: "香風智乃"){name, age}}',
  CURLOPT_RETURNTRANSFER => true,
);

curl_setopt_array($curl, $options);

$result = curl_exec($curl);

echo $result;

curl_close($curl);

Nodeよりは可読性が落ちますが、読みやすいと思います。