【问题标题】:How to use ConstraintMapping to exclude a specific path in jetty?如何使用 ConstraintMapping 排除码头中的特定路径?
【发布时间】:2021-12-29 13:16:44
【问题描述】:

我有一个启用身份验证的约束/约束映射。但是,我需要从中排除一条不需要身份验证的路径(并且仅适用于 GET 请求)。

我创建了一个没有约束的约束映射:

    ConstraintMapping exclude = new ConstraintMapping();
    exclude.setPathSpec("/items/{id}/list");
    exclude.setMethod("GET");

我对此的疑问是:

  • 如何在有 {id} 参数的地方添加 pathSpec?我相信使用 setPathSpec("/items/{id}/list") 是行不通的。
  • 如果我添加了 GET 方法,它是否只针对该端点的 GET 请求启用?

【问题讨论】:

    标签: java servlets jetty embedded-jetty


    【解决方案1】:

    ConstraintMapping 是一个 servlet 概念。

    PathSpec 仅支持来自 servlet 规范的 url-pattern 规则。

    您的/items/{id}/list 声明看起来像一个基于 URI 模板的路径规范,Servlet 规范不支持它。

    查看过去关于 servlet url-pattern 规则的答案...

    https://stackoverflow.com/a/14018272/775715

    【讨论】:

      猜你喜欢
      • 2011-06-17
      • 1970-01-01
      • 2021-12-22
      • 1970-01-01
      • 2013-02-11
      • 1970-01-01
      • 2020-05-03
      • 2012-10-06
      • 2021-03-11
      相关资源
      最近更新 更多