2

我使用以下方法导入了restivus:

流星加敏捷:restivus

在使用 Restivus 时,我在流星启动时遇到此错误:

“找不到名称‘Restivus’”。

我可以虽然 GET 请求,但我想知道它是否会影响应用程序的行为。

这是使用的代码:

 if (Meteor.isServer) {
        // Global API configuration
        var Api = new Restivus({
            apiPath: 'api/',
            prettyJson: true
        });
    }

收到 POST 时,我的 request.body 和 bodyParams 为空:

Api.addRoute(':id/test', {
        post: function () {
            var id = this.urlParams.id;
            console.log("Body contains : ");
            console.log(this.bodyParams);
            return {
              status: 'success',
              url  : 'post test from id: '+id,
              body : this.bodyParams
            };
        }
    });

有谁知道如何使这个错误消失,如果这与 POST 正文问题有关?

4

3 回答 3

1

如果您使用 Meteor 1.4+,您可以尝试将 Restivus 导入到您的文件中,如下所示:

import Restivus from 'nibmle:restivus';
于 2017-02-07T11:45:29.487 回答
1

帖子正文为空的问题是由我提出的请求引起的:我没有指定 Content-type 标头。

一旦我指定了“Content-Type”:“application/json”,它就起作用了。

“找不到‘Restivus’”错误仍然存​​在。

于 2017-02-07T14:22:48.703 回答
0

你的代码看起来不错。这是我正在使用的仅服务器文件中的一些代码:

// Global API configuration
  var Api = new Restivus({
    useDefaultAuth: true,
    prettyJson: true,
    apiPath: 'restAPI/',
    defaultHeaders: { 'Content-Type': 'application/json;encoding="UTF-8"' }
  });

  // Generates: GET, POST on /api/items and GET, PUT, DELETE on
  // /api/items/:id for the Items collection
  Api.addCollection(Policy);

也许您应该将代码移动到服务器目录?我在 Meteor 1.3.4 上。

于 2017-02-07T11:46:34.003 回答