Express 快递路线混乱

Express 快递路线混乱,express,Express,我有以下端点来访问会话的实例: <base-url>/sessions/<id> 我可以在浏览器中看到使用了正确的端点: <base-url>/sessions/117 它很好用。这个选项不适合我,因为它也会匹配端点,比如/sessions/111/user,这不是重点 我怎样才能解决这个问题,只抓住我需要抓住的东西 更新: 我在发表评论后没有什么更新。 我试图简化这个问题,但可能有个问题。我使用的是两级快速路由器 在主web服务器应用程序中: var a

我有以下端点来访问会话的实例:

<base-url>/sessions/<id>
我可以在浏览器中看到使用了正确的端点:

<base-url>/sessions/117
它很好用。这个选项不适合我,因为它也会匹配端点,比如/sessions/111/user,这不是重点

我怎样才能解决这个问题,只抓住我需要抓住的东西

更新:

我在发表评论后没有什么更新。 我试图简化这个问题,但可能有个问题。我使用的是两级快速路由器

在主web服务器应用程序中:

var app = express();
app.use("/api/admin", admin_router);   // this should sent all the admin-requests to a subrouter admin_router
管理路由器的相关工作代码:

var router = express();
router.patch("/sessions/:id*", tryLogout);  // sends 404 without the *
在前端,我使用主干模型发送请求。相关代码:

...Backbone.Model.extend({
        urlRoot: "api/admin/sessions",

        idAttribute: "id",

        logout: function(callback) {
            var attr = {
                // sets the atts here
            }

            this.save(attr,{
                patch: true,
                success: function(data) {
                    callback(null, data)
                },
                error: function(err) {
                    // error handling
                }
            });
        }   // logout()

这对我来说很管用。你到底是如何使用路由器的?你可能使用app.param吗?我不明白这个问题。我甚至没有在那一点上使用它,它不匹配。我使用的是E router.patch,如图所示。可能的原因不匹配:您没有对请求使用patch方法不太可能,否则*不会产生任何影响,您没有正确设置基本URL,您使用app.param验证:id参数,并且存在问题,您使用的是严格的路由,并且不小心在末尾添加了斜杠,这是中间件导致的问题。可能还有更多…我会在那里做一些更新来回答这个问题,实际上,有两个路由器
var router = express();
router.patch("/sessions/:id*", tryLogout);  // sends 404 without the *
...Backbone.Model.extend({
        urlRoot: "api/admin/sessions",

        idAttribute: "id",

        logout: function(callback) {
            var attr = {
                // sets the atts here
            }

            this.save(attr,{
                patch: true,
                success: function(data) {
                    callback(null, data)
                },
                error: function(err) {
                    // error handling
                }
            });
        }   // logout()