2015-12-17 4 views
1

Я адаптирую this для работы в контексте сервера hapi, который также определяет многие другие «обычные» API-конечные точки. Если я хочу, чтобы определить конечную точку для graphql (по аналогии с README) таким образом:«Обучение» клиенту, какую конечную точку использовать для graphql

route: { 
    path: '/graphql', 
    config: {} 
} 

... есть то дополнительная конфигурация, которая должна произойти в стороне клиента кода «научить» реагировать/ретранслировать приложение, какой путь сделать свой пост/получить запросы?

ответ

1

Как описано в Relay Documentation. Конечной точкой вашего упомянутого/graphql является то, что реле по умолчанию использует для связи с сервером graphql. Если вам нужно указать другой сервер и конечную точку, вы должны:

Relay.injectNetworkLayer(
    new Relay.DefaultNetworkLayer('http://example.com/graphql') 
) 

, чтобы изменить конечную точку и сервер Графика по умолчанию.

+0

Thanks ... side comment/question - любая информация о типе 'application/graphql' mime? Это что-то, что Реле использует в своих запросах? Я видел доказательства этого типа mime как в эксплойтной, так и в hapi-серверной реализации graphql. Я надеюсь, что Relay использует стандартный mime-тип в своих запросах на '/ graphql' – jerome

+0

Я не уверен на 100%, хотя я реализовал один или два ретрансляционных сайта, но все, что я могу сказать, ретранслятор отправляет запросы в формате JSON, а именно, json-объект с двумя ключами, запросом и переменными. Таким образом, заголовок запроса типа mime - application/json. Однако я знаю, что тот же сервер graphql будет работать только с запросом graphql, а mime-type - application/graphql. Это зависит от того, как вы формируете запрос. Просто позвольте ретрансляции использовать json-заголовок, и вы будете использовать заголовок graphql специально для отладки сервера с HTTP-клиентом –