2017-01-18 4 views
1

Ich versuche, eine einfache POST-Anfrage mit Postman zu meinem Express-App zu emittieren, aber die Post-Anfrage ist Zeitlimit. HierExpress App.Post Anfrage reagiert nicht auf Postman POST-Anfrage

ist die Anfrage:

<code>http://localhost:3000/?inviteCode=12</code>

Und hier ist die App:

import express from 'express' 
import bodyParser from 'body-parser' 
import path from 'path' 

const app = express() 

app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({ extended: true })); 

app.post('/', (req,res) => { 
    console.log(req.body) 

    if (req.body.inviteCode === "12") { 
     res.json({value: "success"}) 
    } else { 
     res.json({value: "fail"}) 
    } 
}) 

app.listen(process.env.PORT || 3000,() => { 
    console.log(`App listening on ${process.env.PORT || 3000}`) 
}) 

console.log(req.body) druckt ein leeres Objekt {}

Jede Idee, was schief gehen könnte?

Antwort

1

Sie geben inviteCode nicht in die POST-Parameter in Postman ein (wie in Ihrem Screenshot zu sehen, der Schlüsselwerteintrag unter der Registerkarte "Body"), stattdessen übergeben Sie inviteCode als URL-Abfrageparameter, der festgelegt wird in req.query.inviteCode.

Um es aus dem Abfrage-Parameter zu verwenden (in der URL), Ihre Postman Suche entsprechen:

app.post('/', (req,res) => { 
    req.query.inviteCode === "99" ? res.json({value: "success"}) : res.json({value: "fail"}) 
}) 

Oder es im POST Körper zu verwenden, die Festsetzung Ihre Postman Anfrage erfordert:

app.post('/', (req,res) => { 
    console.log(req.body) 

    req.body.inviteCode === "99" ? res.json({value: "success"}) : res.json({value: "fail"}) 
}) 
+0

Sie haben recht, aber es scheitert immer noch, wenn ich die richtige Nutzlast sende. Bearbeitete meine Frage, um das zu widerspiegeln – softcode

+0

Sie haben nicht 'inviteCode' Schlüssel und Wert unter dem Körperregister in Ihrem Postman screenshot hinzugefügt. – MattMS

+0

Hut ab vor dir – softcode

Verwandte Themen