如果通过Postman

时间:2015-12-07 16:13:46

标签: meteor iron-router

我每次使用Chrome Postman>>尝试发布一些数据时,我都会使用Chrome Postman插件测试我的meteor应用API端点form-data选项卡,iron-router request.body返回空。

只有当我在Chrome邮递员中使用x-www-form-urlencoded选项卡时,request.body才会返回数据,有人可以告诉我,我在这里丢失/做错了什么以及如何解析使用表单发送的数据 - Chrome Postman中的数据标签?感谢

我用来构建Meteor应用程序端点的代码基于此示例Meteor REST example

1 个答案:

答案 0 :(得分:0)

有点晚了,但是当我用邮差与流星构建一个rest api时,我有同样的问题并在undefined和[Object]对象之间切换。

我通过处理查询来解决它,而不是像这样处理

Router.map(function() {
this.route('methodExample', {
    path: '/api/test/',
    where: 'server',
    action: function() {

        // GET, POST, PUT, DELETE
        var requestMethod = this.request.method;

        if(requestMethod == 'POST'){
            console.log('>> HTTP Verb POST ');
            console.log(
                    JSON.stringify(this.request.query)      
            );
            this.response.writeHead(200, {'Content-Type': 'application/json'});
            this.response.end( 
                    JSON.stringify(this.request.query)
            );
        } else if (requestMethod == 'GET'){
            console.log('>> HTTP Verb GET ');
            this.response.writeHead(200, {'Content-Type': 'text/html'});
            this.response.end('GET :)');
        } else {
            console.log('Unsupported HTTP Verb ! ');
            this.response.writeHead(501, {'Content-Type': 'text/html'});
            this.response.end('Unsupported HTTP Verb ! ');

        }
    }
}); });

我希望它会有所帮助