Почему Express (или другая интеграция) с Apollo GraphQL Sever? - PullRequest
8 голосов
/ 05 мая 2020

Я изо всех сил пытаюсь понять добавленную стоимость интеграции Express (или Koa, Hapi, et c) с сервером Apollo GraphQL.

Я вижу, что он может очень хорошо работать в автономном режиме (пример: https://medium.com/codingthesmartway-com-blog/apollo-server-2-introduction-efc4026f5654).

В этом случае мы должны использовать его с (или без) интеграция? Что должно стимулировать это решение?

1 Ответ

5 голосов
/ 08 мая 2020

Если все, что вам нужно, это конечная точка GraphQL, то обычно предпочтительнее использовать автономную библиотеку (apollo-server), потому что будет меньше шаблонов для написания (такие функции, как подписки, загрузка файлов и т. конфигурация). Однако многим приложениям требуются дополнительные функции, помимо предоставления только одной конечной точки API. Примеры включают:

  • Webhooks
  • обратные вызовы OAuth
  • Управление сеансом
  • Cook ie синтаксический анализ
  • Защита CSRF
  • Запросы на мониторинг или ведение журнала
  • Ограничение скорости
  • Геозоны
  • Статус обслуживания c контент
  • Рендеринг на стороне сервера

Если вам нужна такая функциональность для вашего приложения, вы захотите использовать инфраструктуру HTTP, например Express, а затем использовать соответствующую библиотеку интеграции (например, apollo-server-express).

Apollo Сервер также включает интеграции для бессерверных решений AWS Lambda. Если вы хотите использовать go без сервера, например, чтобы улучшить масштабируемость или исключить расходы на системное администрирование, вам также необходимо использовать одну из этих интеграций.

...