2016-04-26 3 views
0

Ich habe einen einfachen Knoten/Express js API, die Anfrage von einer anderen App erhalten.Die Anfrage ist das GET /api/users?data=5. Immer wenn ich Daten mit 5 wie oben kodiere, trifft es /api/users route.But, wenn ich die Anfrage mit dynamischen Daten wie GET /api/users?data=id, wo ID = 5, es schlägt nicht /api/users Route, aber in den Serverprotokollen sehe ich die Anfrage tat Hit mit URL /users?data=5. Ich bin mir nicht sicher, was falsch ist, aber ich vermute, vielleicht habe ich nicht definiert die Routen richtig.Eine Hilfe wird geschätzt werden.Sorry, ich bin neu zu Knoten js. you.Here Viele ist mein CodeEine einfache http GET-Anfrage trifft nicht die Express-js-API

var app = express(); 
var router = express.Router(); 
router.use(function(req, res, next) { 
    next(); 
}); 

router.get('/', function(req, res) { 
    res.render('home'); 

}); 
app.use('/api', router); 
router.route('/users') 

    .get (function(req, res) { 
    var data = req.query.data; 
    }); 
+0

Versuchen Sie, Ihre 'app.use ('/ api', router);' an den unteren Rand Ihres Codes zu verschieben, nach dem 'router.route ('users')' Zeug. – saadq

+0

Danke, aber das hat nicht funktioniert. – sparks

+0

Können Sie Ihre Kundenanfrage posten? Schlagen Sie den Browser oder verwenden Sie den Client? –

Antwort

0

ich es herausgefunden, in der Anforderung GET /api/users?data=id HTTP/1. id wurde nicht richtig formatiert, daher der Antrag wurde Schlagen der Server aber nicht Anwendungsschicht.

UPDATE Kurz der App, die Http machen GET-Anfrage in Arduino geschrieben wird (was es zu C übersetzt) ​​.Ich wurde die ID aus dem Gerätespeicher zu lesen, die gespeichert wird, als char array.So ich dachte, ich hatte habe das char-Array in string konvertiert, aber in Wirklichkeit waren es immer noch chars, und ich habe diese Variable in die URL für Get request geschrieben, weshalb sie sich beschwerte.

+0

Wenn Sie Ihre falsche Formatierung und die richtige postet, könnte es für andere vorteilhaft sein. – avck

Verwandte Themen