Можно ли выполнить мутацию или запрос локально на стороне сервера с 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

Другие вопросы по тегам