web-dev-qa-db-fra.com

comment obtenir l'ID depuis l'URL en utilisant node.js

Je suis assez nouveau pour Javascript et node.js et j'essaie de créer un REST API, et les URL seront de la forme.

  1. /user/{userId}/docs

J'essaie d'obtenir la valeur de {userId}, qui dans le cas de /user/5/docs sera 5.

Je pourrais essayer de passer cela en tant que paramètre de requête (dans la chaîne de requête ou dans le corps, en fonction de la méthode GET ou POST), mais l'url a l'air plus intuitive quand elle est formée, comme ce sera le cas. De plus, il y a beaucoup plus d'URL qui sont comme celles-ci.

Je me demande s’il existe des modules de noeuds comme Express qui permettent cela.

Je suis un utilisateur Java traditionnel et le cadre Jersey utilisé pour fournir une telle chose dans Java.

Merci Tuco

12
Tuco

Passez du temps avec la documentation . Express utilise le : pour désigner une variable dans un itinéraire:

app.get('/user/:id/docs', function(req, res) {
    var id = req.params.id;
});
57
josh3736

Écrivez ce qui suit dans le script du serveur:

var http = require('http');
var server = http.createServer(function (request, response) {
    var url = request.url; //this will be /user/5/docs
    url.id = url.split("/")[2]; // this will be 5
    response.writeHead(200, {'Content-Type' : 'text/html'});
    response.end("Id is = " + url.id);
});
server.listen(8000, '127.0.0.1');
3
Saif Adnan
var pathName = url.parse(request.url).pathname;
var id = pathName.split("=");
var userId = id[1];
0
Pradeep Banavara