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.
/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
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;
});
É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');
var pathName = url.parse(request.url).pathname;
var id = pathName.split("=");
var userId = id[1];