2015-12-07 1 views
1

Я использую плагин Chrome Postman для проверки конечных точек API приложения meteor, каждый раз, когда я пытаюсь выполнить POST некоторые данные, используя Chrome Postman >> вкладку данных формы, железо-маршрутизатор request.body возвращает пустое.iron-router request.body возвращается пустым, если вы отправляете через Postman

Только когда я использую вкладку x-www-form-urlencoded в почтовом устройстве Chrome, request.body возвращает данные, может ли кто-нибудь сказать мне, пожалуйста, что мне не хватает/делает неправильно здесь, и как я могу разобрать данные, отправленные с помощью формы -data вкладка в Chrome Postman? Спасибо

Код, который я использую для создания конечных точек приложения Meteor, основан на этом примере, как правило, Meteor REST example.

ответ

0

Немного поздно, но у меня была такая же проблема, и я переключался между неопределенным и объектом [Object], когда создаю rest api с метеоритом с почтальоном.

Я решить ее путем обработки в запросе вместо тела, как этот

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 ! '); 

     } 
    } 
}); }); 

Я надеюсь, что это поможет