Firebase Functions V2中如何获取context.params参数?
Firebase Functions V1 迁移到 V2 常见问题解答
1. 获取路径参数(原context.params内容)
在V2的Firestore触发器中,路径参数不再存放在context对象里,而是直接挂载在event对象的params属性下。你可以直接通过event.params.courseId获取路径中定义的{courseId}参数。
示例代码:
const { onDocumentCreated } = require("firebase-functions/v2/firestore"); exports.onOpenCourse = onDocumentCreated( { document: "courses/{courseId}" }, (event) => { // 获取路径参数courseId const courseId = event.params.courseId; // 后续业务逻辑 const snapshot = event.data; const info = snapshot.data(); } );
2. https.onCall 的返回值说明
文档标注https.onCall返回any,意思是返回值的结构完全由你自定义,系统不会强制返回包含params和data的对象。
https.onCall函数的输入包含两个参数:第一个是客户端传入的data,第二个是包含请求上下文的context(比如用户认证信息、请求元数据等)。返回值是你在函数中主动return的内容——你可以返回包含业务数据的对象,也可以直接返回字符串、数字等合法的JSON可序列化数据,没有固定的强制结构。
示例代码:
const { onCall } = require("firebase-functions/v2/https"); exports.myCallFunction = onCall((request) => { // 客户端传入的参数 const clientData = request.data; // 请求上下文信息 const authContext = request.auth; // 自定义返回值结构 return { status: "success", message: "处理完成", result: { userId: authContext?.uid, inputData: clientData } }; });
内容的提问来源于stack exchange,提问作者sparsespeculator
相关产品推荐
相关产品推荐

