Meteor:Restivus API调用返回HTML模板

时间:2015-12-05 14:20:23

标签: rest meteor

我必须在这里遗漏一些显而易见的东西,但我不能为我的生活找出什么。我已经像这样配置了Restivus:

Projects = new Mongo.Collection('projects');
Skills = new Mongo.Collection('skills');
Causes = new Mongo.Collection('causes');

Meteor.startup(() => {
    let Api = new Restivus({
        apiPath: 'api/',
        auth: {
            token: 'auth.apiKey',
            user: function () {
                return {
                    userId: this.request.headers['user-id'],
                    token: this.request.headers['login-token']
                };
            }
        },
        defaultHeaders: {
            'Content-Type': 'application/json'
        },
        onLoggedIn: function () {
            console.log(this.user.username + ' (' + this.userId + ') logged in');
        },
        onLoggedOut: function () {
            console.log(this.user.username + ' (' + this.userId + ') logged out');
        },
        prettyJson: true,
        useDefaultAuth: true,
        version: 'v1'
    });

    // Add core models
    Api.addCollection(Skills);
    Api.addCollection(Causes);
    Api.addCollection(Projects);

    Api.addRoute('custom', {
        get: function () {
            return {
                status: 'success',
                data: 'get something different'
            };
        }
    });
});

这基本上是从文档中复制粘贴的。问题在于,当尝试访问任何自动生成的端点或自定义端点custom时,我得到的只是Meteor应用程序本身的HTML(就像我导航到根URL一样)该应用程序)。

就好像Restivus根本就没有运行一样,但是上面代码块末尾的console.log验证它至少是在运行。我做错了什么?

1 个答案:

答案 0 :(得分:1)

正如我所料,这显然是显而易见的。我要离开这里以防其他人犯同样的错误。

关键是配置中的这一行:

version: 'v1'

这意味着您需要将/v1/附加到API路径,以便调用本身具有格式(例如):

mydomain.com/api/v1/myresource