Отдельные URL-адреса Graphql API - PullRequest
       33

Отдельные URL-адреса Graphql API

0 голосов
/ 23 октября 2019

Мы можем настроить apollo-server-express следующим образом:

const server = new ApolloServer({
  typeDefs: schema,
  resolvers: resolvers,
  introspection: true,
  playground: true,
});

server.applyMiddleware({
  app,
  path: "/graphql"
});

Здесь path относится только к одной конечной точке. Итак, возможно ли создавать отдельные API-маршруты в GraphQL (например, REST), используя Node.js и Express Framework?

1 Ответ

0 голосов
/ 23 октября 2019

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

Однако вам следует , а не использовать отдельные конечные точки дляпроизвольно разбить схему. Делая это, вы ничего не получите, вместо этого вы получите ненужное дублирование и усложните работу для всех клиентов, использующих ваш API, поскольку большинство клиентских библиотек GraphQL ожидают один URL.

...