В чем преимущество использования Express с GraphQL вместо простого использования Node.js с GraphtQL? - PullRequest
1 голос
/ 07 июля 2019

Каковы преимущества использования Express с GraphQL?Все преимущества GraphQL также можно использовать с простым приложением Node.js без Express.Поскольку у GraphQL есть только одна конечная точка и отсутствует концепция промежуточного программного обеспечения, как в случае с Express, зачем нам использовать Express, а не только Node.js?

1 Ответ

0 голосов
/ 07 июля 2019
  1. Express использует модуль Node.js http под капотом , но благодаря промежуточному программному обеспечению вы можете реализовать различные функции для вашей конечной точки. Например, для обработки запросов POST (что вам необходимо сделать для GraphQL) вам потребуется проанализировать тело запроса в пригодный для использования формат - если вы не используете Express и промежуточное программное обеспечение, такое как body-parser, вам потребуется нужно сделать это вручную. То же самое относится и к другим общим функциям , которые вам, вероятно, понадобятся, например, к CORS, управлению сессиями и т. Д. - зачем изобретать велосипед, если для него есть промежуточное ПО?

  2. Сам GraphQL может не иметь понятия промежуточного программного обеспечения (хотя является библиотекой, которая эффективно делает именно это ), промежуточное программное обеспечение Express все еще применяется к вашей конечной точке GraphQL как все. Это означает, что вы можете настроить промежуточное ПО, которое запускается до конечной точки GraphQL. Помимо функций, уже описанных выше, это также дает вам возможность реализовать логику авторизации для вашей конечной точки. Например, вы можете запретить доступ ко всей конечной точке пользователям, которые не могут предоставить соответствующий настраиваемый заголовок.

  3. В действительности вашему приложению может потребоваться больше, чем просто конечная точка GraphQL. Аутентификация обычно обрабатывается вне GraphQL путем предоставления одной или нескольких дополнительных конечных точек - это особенно верно, если вы реализуете OAuth-поток для своего приложения. Точно так же вы можете взаимодействовать со сторонними сервисами, которые используют веб-хуки, что потребует от вас предоставления дополнительных конечных точек на вашем сервере специально для этой цели. То же самое часто касается проверок работоспособности, подобных тем, которые используются балансировщиками нагрузки.

...