Несколько конечных точек Graphql - PullRequest
0 голосов
/ 17 июня 2020

Я работаю над проектом, который отображает список файлов. xml и .txt в веб-браузере. Используя стек MERN Graphql, возможно ли иметь две разные конечные точки, например http://localhost/xml и http://localhost/txt. В большинстве документов говорится, что Graphql использует единственную конечную точку '/ graphql', следовательно, спрашивается.

1 Ответ

0 голосов
/ 17 июня 2020

Вы можете запустить два сервера GraphQL для обслуживания двух конечных точек в одном приложении Express. Но в вашем конкретном случае использования c не надо; это антипаттерн. API GraphQL должен быть основан на одной конечной точке root. Подробности для всех запросов должны быть представлены набором и / или параметрами выбора, а не конечными точками, как это обычно бывает для REST API. В вашем случае правильный запрос GraphQL должен выглядеть так:

 query {
   listFiles(ext: "xml") {  
     name
     modified
   }
 }

Ваша схема может выглядеть так:

type Query {
  listFiles(ext: String): [File]
}

Затем используйте преобразователь listFiles для выполнения логи c, чтобы получить список в зависимости от заданного параметра.

...