在给定路由上运行Parse Server云功能

时间:2017-08-16 13:49:55

标签: javascript node.js parse-platform routes parse-server

我将云功能定义为:

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) {...

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

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

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

您可以使用env

中的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);

注意: 在此级别进行解析时,您无法将http://127.0.0.1:1338/parse/functions/v1/getTravel设为网址,而无需使用分叉