能否在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
你的考试及格了吗?
1条答案
按热度按时间t40tm48m1#
在“简单”http云函数中可以做的事情可以在可调用的云函数中完成。
实际上,可调用的云函数是具有特定请求和响应格式的http云函数,请参见协议规范。