1

我正在尝试使用Restivus将 REST API 添加到我的 Meteor 应用程序

我将以下代码放在 Meteor 应用程序的服务器文件夹中。目前,我正在尝试获取 URL 参数。

      var Api = new Restivus({
        useDefaultAuth: true,
        prettyJson: true
      });

    Api.addRoute('login/:id/:password', {authRequired: true}, {
    get:{
    action: function(){
      var id = this.queryParams.id;
      var password = this.queryParams.password;
          return {
          id: id,
          password: password
          }
      }
    }
  });

我收到了这个回复

{
"status": "error"
"message": "API endpoint does not exist"
}

应我的要求:

http://localhost:3000/api/login?id=BGrZbGtKZZQYr9jDR&password=myPassword
4

1 回答 1

4

您编写 url 的login/:id/:password方式意味着它期望 url 是 http://localhost:3000/api/login/BGrZbGtKZZQYr9jDR/myPassword

但是在您的代码中,您正在查看queryParamsnot urlParams

var id = this.queryParams.id;
var password = this.queryParams.password;

您应该选择其中之一:

使用代码:

var id = this.urlParams.id;
var password = this.urlParams.password;

/login/:id/:password网址,

或将路由与 just/login一起使用并将参数作为查询参数传递以按照您的描述使用:

http://localhost:3000/api/login?id=BGrZbGtKZZQYr9jDR&password=myPassword

var Api = new Restivus({
        useDefaultAuth: true,
        prettyJson: true
      });

    Api.addRoute('login', {authRequired: true}, {
    get:{
    action: function(){
      var id = this.queryParams.id;
      var password = this.queryParams.password;
          return {
          id: id,
          password: password
          }
      }
    }
  });
于 2015-12-30T18:46:35.607 回答