Tôi đang cố gắng có một lộ trình bao gồm tất cả mọi thứ, /foo
bao gồm cả /foo
chí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/bar
nhưng cũng có thể trùng khớp /foolish
mà 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?