Можно ли выполнить мутацию или запрос локально на стороне сервера с Apollo Server?
Я хотел бы знать, возможно ли выполнить мутацию или запрос локально на стороне сервера с сервером Apollo.
Пример:
1- Конечная точка GET /createNew достигнута
2- Я запускаю мутацию, которую я определил как:
apolloserver.mutation(mutation_query).then((response)=>{res.status(200)})
3- Новая запись добавляется в базу данных, а строка JSON возвращается клиенту
Существует ли что-то подобное? Это apolloserver
объект доступен во время выполнения?
Я использую NodeJS + Express
1 ответ
Решение
Я получил это работает
Сначала мы запускаем объекты:
import express from 'express';
import { graphql } from 'graphql';
const context = require('./context'); //this is the object to be passed to each resolver function
const schema = require('./schema'); //this is the object returned by makeExecutableSchema({typeDefs, resolvers})
const app = express();
Затем, если мы хотим, например, выполнить запрос на конечной точке GET /execute
app.get('/execute', function(req, res){
var query = `
query myQueryTitle{
queryName{
_id,
...
}
}
`;
graphql(schema, query, null, context)
.then((result) => {
res.json(result.data.queryName);
});
})
Поэтому в любое время, когда мы хотим выполнить запрос или мутацию, мы вызываем graphql
прохождение schema
, requestString
/query
и context
объект
И это может сосуществовать с экземпляром graphqlExpress