Ich benutze Mongoose und nodejs, um eine API zu schreiben.Post Anfrage nie gemacht, nur sendet erhalten
Mein users.js sieht wie folgt:
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;
Wenn ich eine Erhaltungs-Anforderung senden, es funktioniert perfekt. Ich versuche jedoch jetzt, die POST-Anfrage zu entwickeln. Ich sende eine Anfrage wie folgt zusammen:
http://localhost:4000/users?firstName=Han&[email protected][email protected]
und ich erhalte die folgende in meiner Konsole:
sending a get request
GET /users?firstName=Han&[email protected][email protected]
200 15.522 ms - 1365
Und ich erhalte die Ausgabe meiner GET-Anforderung im Browser.
Ich bin neu bei Node und würde einige Hilfe mit diesem zu schätzen wissen.
Danke.
Ich folgte ein Tutorial hier: https://scotch.io/tutorials/build-a-restful-api-using-node-and-express-4 und seine Post-Anfrage scheint so zu funktionieren? –
Schauen Sie nochmal, alle Postanfragen senden ihre Daten als x-www-form-urlencoded im Hauptteil der POST-Anfrage, nicht als URL Params: https://cask.scotch.io/2014/04/node- api-postman-post-create-bear.png –
Diese Art des Sendens von Parametern wird normalerweise in GET-Requests verwendet, da es in GET keinen Body gibt, sondern nur Header. –