运行 给定路由的 Parse Server 云函数

Running a Parse Server cloud function at a given route

我有一个云函数定义为:

Parse.Cloud.define('getTravel', function (request, response) {...

我可以访问它 http://127.0.0.1:1338/parse/functions/getTravel

我想对我的 API 进行版本控制并在 http://127.0.0.1:1338/parse/functions/v1/getTravel

我尝试如下更改定义,但它不起作用:

Parse.Cloud.define('getTravel', function (request, response) {...

有什么想法吗?

如果认为更好的方法是将 parse 替换为您的当前版本 API

例如,当您部署解析服务器时,请添加 API 的版本:http://127.0.0.1:1338/v1.0/functions/getTravel

您可以使用环境中的 PARSE_MOUNT 变量来做到这一点

如果你想拥有一个 运行 多个版本的实例,只需创建多个 ParseServer 并像这样提供它:

var v1 = new ParseServer({
  databaseURI: databaseUri || 'mongodb://localhost:27017/dev',
  cloud: process.env.CLOUD_CODE_MAIN || __dirname + '/v1/main.js',
  appId: process.env.APP_ID || 'myAppId',
  masterKey: process.env.MASTER_KEY || '',
  serverURL: process.env.SERVER_URL || 'http://localhost:1337/v1',
  liveQuery: {
    classNames: ["Posts", "Comments"]
  }
});

var v2 = new ParseServer({
  databaseURI: databaseUri || 'mongodb://localhost:27017/dev',
  cloud: process.env.CLOUD_CODE_MAIN || __dirname + '/v2/main.js',
  appId: process.env.APP_ID || 'myAppId',
  masterKey: process.env.MASTER_KEY || '',
  serverURL: process.env.SERVER_URL || 'http://localhost:1337/v2',
});

app.use('/v1', api);
app.use('/v2', api);

注意: 在这个级别的解析你不能让 url 像 http://127.0.0.1:1338/parse/functions/v1/getTravel 没有分叉它