2016-12-30 1 views
1

Я использую Mongoose и nodejs для написания API.Почтовый запрос никогда не получается, просто отправляет сообщение

Моего users.js выглядит следующим образом:

var express = require('express'); 
var router = express.Router(); 
var user = require('../models/users.js'); 


router.post('/',function(req, res, next) { 
    console.log("made a post"); 

      var user2 = new user();  // create a new instance of the Bear model 
      user2.firstName = req.body.firstName; // set the bears name (comes from the request) 
     user2.lastName=req.body.lastName; 
     user2.email=req.body.email; 

      user2.save(function(err) { 
       if (err) 
        res.send(err); 

      console.log("User created"); 
      }); 


     }) 

//The model acts as our user object...this returns all users. 
    .get('/', function(req, res, next) { 
     console.log("sending a get request"); 
     user.find(function(err, users) { 
      if (err) 
       res.send(err); 

      res.json(users); 
     }); 

     }) 

module.exports = router; 

Когда я отправить запрос GET, она прекрасно работает. Однако сейчас я пытаюсь разработать запрос POST. Я посылаю запрос, такие как:

http://localhost:4000/users?firstName=Han&[email protected][email protected] 

и я получаю следующее в моей консоли:

sending a get request 
GET /users?firstName=Han&[email protected][email protected] 
200 15.522 ms - 1365 

И я получаю выход моего запроса GET в браузере.

Я новичок в узле и буду признателен за помощь в этом.

Спасибо.

ответ

2

Вы вводите параметры в качестве параметров URL, в то время как ваш POST API считывает параметры из тела запроса.

Here - описание параметров POST. Кроме того, если вы еще не используете его, используйте postman для отправки запросов.

+0

Я следовал учебнику здесь: https://scotch.io/tutorials/build-a-restful-api-using-node-and-express-4 и его почтовый запрос, похоже, работает таким образом? –

+1

Посмотрите еще раз, все почтовые запросы отправляют свои данные как x-www-form-urlencoded в теле запроса POST, а не как URL-адреса Параметров: https://cask.scotch.io/2014/04/node- api-postman-post-create-bear.png –

+0

Этот способ отправки параметров обычно используется в запросах GET, потому что в GET нет тела, только заголовки. –