Restivus 不设置端点 Meteor 1.4

Restivus does not set up endpoint Meteor 1.4

我在使用 Restivus 的 Meteor 1.4.1 应用程序中创建 API 端点时遇到问题。

这是我当前的代码:

import { Restivus } from 'meteor/nimble:restivus'
import { Stripe } from '../stripe/stripe'

export const loadApi = function(){
    console.log('loading api')
    var Api = new Restivus({
        enableCors: true, 
        prettyJson:true
    })

    Api.addRoute('/charge', {
        post: {
            action: function(){
                console.log('* Charging customer')
                console.log(this)
                console.log(this.bodyparams)
                Stripe.chargeCustomer('foobar',9900)
                return {
                    statusCode:204,
                    body:'foobar'
                }
            }
        }
    })
console.log(Api)
}

然后我在 server/main.js Meteor.startup 函数上加载这段代码。 API 似乎被正确定义,因为 console.log 打印具有正确 _routes 属性的 Restivus 对象。

但是,向http://localhost:3000/api/charge发送post请求不会触发函数(console.log不会执行)。

知道我的代码有什么问题吗?我用的是Meteor 1.4.1,所以可能是个bug。

我没有用过restivus,但是在你的代码中,它应该是Api.addRoute('/api/charge'而不是Api.addRoute('/charge'吗?

尝试从您的路线中删除前导斜线,这样 'charge' 而不是“/charge”。

Relevant issue on GitHub.