У меня есть проект GraphQL и Express с этими существующими маршрутами:
// ...
const graphiqlExpress = require('graphql-server-express').graphiqlExpress;
const graphqlExpress = require('graphql-server-express').graphqlExpress;
const makeExecutableSchema = require('graphql-tools').makeExecutableSchema;
// ...
const schema = makeExecutableSchema({
typeDefs,
resolvers,
});
// ...
app.use('/graphql', bodyParser.json(), graphqlExpress({ schema }));
app.use(
'/graphiql',
graphiqlExpress({
endpointURL: '/graphql',
})
);
Мои результаты после GET на http://localhost:3030/graphql?query={regions(countries:["FR"],level:0){...}
выглядят как обычный ответ GraphQL:
{
"data": {
"regions": [
{
"type": "FeatureCollection",
"features": [
...
...
]
}
]
}
}
ЕстьЕсть ли способ преобразовать ответ в нечто более похожее на действительный формат GeoJSON?(без " data: {} " и без названия моего запроса и т. д.), например:
{
"type": "FeatureCollection",
"features": [
...
...
]
}
То, о чем я уже думал, это либо использование middleare (но как?) И / или нормализатор, такой как graphql-normalizr (но я не знаю, как подключить его к Express)