能否在firebase中将graphql设置为可调用函数(以及如何设置?)?

dfddblmv  于 2021-09-23  发布在  Java
关注(0)|答案(1)|浏览(430)

能否在firebase中将graphql设置为可调用函数?我在互联网上找到的所有示例都是set-graphql onRequest http函数。有没有可能使用 onCall graphql的函数?怎么做?
我更喜欢这样做的原因是身份验证-可调用函数提供包含所有相关用户数据的上下文对象(或者至少我是这样理解它们的),因此您不需要费心处理令牌。
下面是一个简单的graphql服务器模板 onRequest 函数使用 express-graphql :

const functions = require("firebase-functions");
const express = require('express');
const { graphqlHTTP } = require('express-graphql');
const {
    GraphQLObjectType,
    GraphQLString,
    GraphQLSchema,
    GraphQLID
} = require('graphql');

const app = express();

const RootQuery = new GraphQLObjectType({
    name: 'Query',
    fields: {
        tournament: {
            type: GraphQLString,
            args: {
                id: { type: GraphQLNonNull(GraphQLID) }
            },
            resolve(parentValue, args) {
                return 'Some result for id: ' + args.id
            }
        },
    }
})

const schema = new GraphQLSchema({
    query: RootQuery
})

app.use(
    '/',
    graphqlHTTP({
        schema, 
        rootValue: root, // contents not relevant to the question
        graphiql: true,
    })
);

exports.graphql = functions.https.onRequest(app);

如何将此模板转换为 onCall 功能?
如何使用 httpsCallable() 方法,以便查询/端点名称和 args 你的考试及格了吗?

t40tm48m

t40tm48m1#

在“简单”http云函数中可以做的事情可以在可调用的云函数中完成。
实际上,可调用的云函数是具有特定请求和响应格式的http云函数,请参见协议规范。

相关问题