Клиент ретрансляции для существующего рабочего сервера GraphQL?

У меня есть рабочий сервер tinySQL GraphQL, работающий на 127.0.0.1:3000. Я хотел бы создать для него любой работающий клиент Relay. Я имею в виду любой рабочий пример для запроса:

{
  groupBy (age: 20, job: "student") {
    id,
    name,
    age,
    job
  }
}

это будет выводить в компоненте React что-то вроде этого:

{
  "data": {
    "groupBy": [
      {
        "id": 1,
        "name": "Marie",
        "age": 20,
        "job": "student"
      },
      {
        "id": 5,
        "name": "Jessie",
        "age": 20,
        "job": "student"
      }
    ]
  }
} 

Самое главное, я хочу иметь возможность устанавливать IP-адрес хоста GraphQL и порт, а также не хочу ничего менять в коде сервера GraphQL. Возможно ли это сделать? Можно ли сделать это без babelRelayPlugin.js, babel-relay-plugin, webpack, webpack-dev-server или каких-либо других фокусов?

РЕДАКТИРОВАТЬ:

Я имею в виду:

class App extends React.Component {
  render() {
    return (
      <div>
      // Simple example here?
      </div>
    );
  }
}

Relay.injectNetworkLayer(
  new Relay.DefaultNetworkLayer('http://127.0.0.1:3000')
);

const AppContainer = Relay.createContainer(App, {
  // Simple example here?
});

ReactDOM.render(
  // Simple example here?
);

Кто-нибудь? Можно ли сделать это так?

1 ответ

Насколько я знаю, с Relay это невозможно. Вам нужно не только использовать встраиваемые плагины Relay, но и ваш сервер также должен соответствовать спецификации Relay GraphQL.

Однако существуют альтернативы Relay, которые требуют гораздо меньшего количества шаблонов, например, Apollo Client или Lokka. Если вы ищете хорошую интеграцию с React, то Apollo Client, вероятно, является правильным выбором для того, что вы описываете.

Полное раскрытие: я вкладчик в Apollo Client

Другие вопросы по тегам