Tôi đang cố gắng có một lộ trình bao gồm tất cả mọi thứ, /foobao gồm cả /foochính nó. Tôi đã thử sử dụng /foo*công cụ nào cho mọi thứ ngoại trừ nó không khớp /foo. Quan sát:
var express = require("express"),
app = express.createServer();
app.get("/foo*", function(req, res, next){
res.write("Foo*\n");
next();
});
app.get("/foo", function(req, res){
res.end("Foo\n");
});
app.get("/foo/bar", function(req, res){
res.end("Foo Bar\n");
});
app.listen(3000);
Kết quả đầu ra:
$ curl localhost:3000/foo
Foo
$ curl localhost:3000/foo/bar
Foo*
Foo Bar
Những lựa chọn của tôi là gì? Điều tốt nhất tôi nghĩ ra là định tuyến /fo*mà tất nhiên là không tối ưu lắm vì nó sẽ trùng khớp quá nhiều.
/foo*phù hợp /foo/barnhưng cũng có thể trùng khớp /foolishmà bạn có thể không có ý định.
/foo*tuyến đường như vậy, bạn không muốn biến nó thành phần mềm trung gian?