Spring @RequestMapping“不包含”正则表达式

2023-12-09

我有这个请求映射:

@RequestMapping(value = "/route/to-{destination}-from-{departure}.html", method = {RequestMethod.GET, RequestMethod.HEAD})

我想添加 RequestMapping:

@RequestMapping(value = "/route/to-{destination}.html", method = {RequestMethod.GET, RequestMethod.HEAD})

因此它可以服务所有“不出发”的航线。然而,这会产生冲突,因为“/route/to-destination-from-departure”url 实际上也与第二个 RequestMapping 匹配...... 很公平,所以我的解决方案是指定一个正则表达式:

@RequestMapping(value = "/route/to-{destination:^((?!-from-).)+}.html", method = {RequestMethod.GET, RequestMethod.HEAD})

因此,如果“destination”包含“-from-”,RequestMapping 将不匹配。

而且……这不起作用!第一个 RequestMapping 成功提供了 url“/route/to-barcelona-from-paris.html”,但根本没有提供 url“/route/to-barcelona.html”...我缺少什么?

注意:我不想使用java解决方案,例如有一个“/route/to-{destination}”RequestMapping,然后检查“destination”是否包含“-from-”..:)另外,我不能改变这些路线是因为 SEO...


您可以使用

"/route/to-{destination:(?!.*-from-).+}.html"

The ^锚点将搜索字符串的开头,并且此处的任何匹配都会失败。

The (?!.*-from-)负向前视将使任何包含以下内容的输入失败-from-在除换行符之外的任何 0+ 个字符之后。

The .+模式将消耗除换行符之外的所有 1 个或多个字符到行尾。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring @RequestMapping“不包含”正则表达式 的相关文章

  • Java:使用 HttpURLConnection 的 HTTP PUT

    如何执行 HTTP PUT 我正在使用的类似乎认为它正在执行 PUT 但端点将其视为我执行了 GET 我做错了什么吗 URL url new URL https HttpURLConnection conn HttpURLConnectio
  • eclipse中导入项目文件夹图标

    我在 Eclipse 工作区中新导入的 Maven 项目有J and M项目文件夹顶部的图标 项目和包资源管理器 而其他导入的 Maven 项目只有一个J icon 有人可以解释其中的区别吗 该项目有J装饰器被称为 Java 项目和具有M装
  • Condition 接口中的 signalAll 与对象中的 notificationAll

    1 昨天我才问过这个问题条件与等待通知机制 https stackoverflow com questions 10395571 condition vs wait notify mechanism 2 我想编辑相同的内容并在我的问题中添加
  • 无法在 Spring Boot 测试中模拟 persistenceContext

    我正在使用带有 Mockito 框架的 spring boot 测试来测试我的应用程序 存储库类 EntityManager 之一作为参考 我的班级如下所示 Repository Transactional Slf4j public cla
  • Firestore - RecycleView - 图像持有者

    我不知道如何编写图像的支架 我已经设置了 2 个文本 但我不知道图像的支架应该是什么样子 你能帮我告诉我图像的文字应该是什么样子才能正确显示吗 holder artistImage setImageResource model getArt
  • 如果使用的 JVM 是 x86 或 x64,则以不同的方式解决 Maven 依赖关系?

    我设置了一个 Maven 存储库来托管一些 dll 但我需要我的 Maven 项目根据使用的 JVM 是 x86 还是 x64 下载不同的 dll 例如 在运行 x86 版本 JVM 的计算机上 我需要从存储库下载 ABC dll 作为依赖
  • 内存一致性 - Java 中的happens-before关系[重复]

    这个问题在这里已经有答案了 在阅读有关内存一致性错误的 Java 文档时 我发现与创建 发生 之前 关系的两个操作相关的点 当语句调用时Thread start 每个具有 与该语句发生之前的关系也有一个 与 new 执行的每个语句之间发生的
  • 如何将 android.net.Uri 转换为 java.net.URL? [复制]

    这个问题在这里已经有答案了 有没有办法从Uri to URL 我正在使用的库需要这个 它only接受一个URL但我需要在我的设备上使用图像 如果该方案的Uri is http or https new URL uri toString 应该
  • 具有共享依赖项的多模块项目的 Gradle 配置

    使用 gradle 制作第一个项目 所以我研究了 spring gradle hibernate 项目如何组织 gradle 文件 并开始制作自己的项目 但是 找不到错误 为什么我的配置不起作用 子项目无法解决依赖关系 所以项目树 Root
  • Java 服务器-客户端 readLine() 方法

    我有一个客户端类和一个服务器类 如果客户端向服务器发送消息 服务器会将响应发送回客户端 然后客户端将打印它收到的所有消息 例如 如果客户端向服务器发送 A 则服务器将向客户端发送响应 1111 所以我在客户端类中使用 readLine 从服
  • Cloudfoundry:如何组合两个运行时

    cloundfoundry 有没有办法结合两个运行时环境 我正在将 NodeJS 应用程序部署到 IBM Bluemix 现在 我还希望能够执行独立的 jar 文件 但应用程序失败 APP 0 bin sh 1 java not found
  • vim 中的正则表达式查找和替换:向数字添加 .0

    我有一个如下所示的文件 1 1 0 1 6 1 0 2 8 1 0 3 10 1 0 4 12 1 0 6 如何为所有数字添加 0 后面的数字除外 我认为用正则表达式来做到这一点应该不会太难 但是我的正则表达式知识太生疏了 使用 VIM s
  • 在 Spring Boot Actuator 健康检查 API 中启用日志记录

    我正在使用 Spring boot Actuator APIproject https imobilenumbertracker com 拥有一个健康检查端点 并通过以下方式启用它 management endpoints web base
  • JS用正则表达式替换数字

    我有元素的标识符 如下所示 form book 1 2 3 我想要的是用其他值替换该标识符中的第二个数字 我将函数 match 与以下正则表达式一起使用 var regexp d d d 但它返回我包含的数组 1 2 3 2 因此 当我尝试
  • 使用正则表达式查找并替换(批处理.BAT)

    我想在多个文本文件中进行查找 替换 如何使用 BAT 实现自动化 我还需要正则表达式 示例 查找
  • 如何在 javascript 正则表达式中匹配平衡分隔符?

    我原以为这个问题是不可能的 据我所知 Javascript 的正则表达式既没有递归插值 也没有漂亮的 NET 平衡组功能 但问题就在那里 如问题 12 所示正则表达式 alf nu http regex alf nu 匹配平衡对 lt an
  • Android AutoCompleteTextView 带芯片

    我不确定我是否使用了正确的词语来描述此 UI 功能 但我已附上我希望在我的应用程序中实现的目标的快照 它由 Go SMS 使用 用户在编辑文本中键入联系人 在用户从完成下拉列表中选择联系人后 该联系人将被插入到编辑文本中 如附图所示 编辑文
  • 在android中跟踪FTP上传数据?

    我有一个运行 Android 的 FTP 系统 但我希望能够在上传时跟踪字节 这样我就可以在上传过程中更新进度条 安卓可以实现这个功能吗 现在 我正在使用org apache common net ftp我正在使用的代码如下 另外 我在 A
  • 如何在 gulp.src 中使用基本正则表达式?

    我正在尝试选择两个文件gulp src highcharts js and highcharts src js 当然 我知道我可以使用数组表达式显式添加这两个表达式 但出于学习目的 我尝试为它们编写一个表达式 我读过可以使用简单的正则表达式
  • 嵌入式 Jetty - 以编程方式添加基于表单的身份验证

    有没有一种方法可以按如下方式以编程方式添加基于表单的身份验证 我用的是我自己的LdapLoginModule 最初我使用基本身份验证并且工作正常 但现在我想在登录页面上进行更多控制 例如显示徽标等 有没有好的样品 我正在使用嵌入式 jett

随机推荐

  • Python - 转发带附件的 IMAP 电子邮件(imaplib、smtplib)

    我在转发带有附件的邮件时遇到问题 有人能指出我正确的方向吗 我猜它在 Fetch 语句中 但我不确定 import sys import uuid import re import smtplib import email address
  • RMI:按值传递还是按引用传递?

    我很难找到这个问题的明确答案 所以我想我应该在这里用我自己的具体例子来问 我正在创建一个多人垄断游戏 实际的垄断代码在服务器上运行 而客户端本质上是一个访问和控制该代码的 GUI 垄断游戏是由一个叫做 银行 的类控制的 假设我在客户端的 m
  • 将变量从 node.js 传递到 html

    我正在尝试将变量从 node js 传递到我的 HTML 文件 app get main function req res var name hello res render dirname views layouts main html
  • 试图获取非对象的属性

    这个脚本效果很好 我在脚本的顶部调用它 但是 如果未被禁止的用户进入该网站 他们会得到 Notice Trying to get property of non object in index php on line 20 功能 Check
  • 有没有办法在没有JFrame的情况下获取键盘事件?

    我想让我的程序在用户按下某个快捷方式时取消隐藏主窗口 有没有办法获取全局关键事件 而不仅仅是焦点位于应用程序框架内时发生的事件 这可能会做你想做的事 请注意 此代码正在检查 Ctr F 击键 我使用此代码从应用程序中的任何内容打开查找对话框
  • 如何创建每个单元格分为 4 个三角形的热图?

    我想将一个单元格分成一个单独的热图 具有多个颜色代码 Each square is divided into 4 triangles and each triangle has its own numerical value color c
  • 如何在直方图中绘制字典中的键和值

    我需要用以下字典绘制直方图 x 5 289 8 341 1 1565 4 655 2 1337 9 226 7 399 3 967 6 405 我需要首先将键从 1 到 9 排序 然后将这些值绘制在直方图中 显示最大概率为 1 0 我已经尝
  • 垂直旋转 JTextField

    我见过很多询问如何以任意角度旋转 JLabel 或图像的问题 我需要做的就是将文本字段旋转 90 度 但我还没有找到专门针对该角度的更简单的方法 我以为我正确复制了答案 但我的文本字段没有旋转 这是我正在做的 SSCCE import ja
  • 如何判断进程是否在用户界面进程中?

    如何从进程中获取它是 UI 用户界面 进程还是非 ui 进程的信息 我所说的 UI 进程是指 Finder Dock 系统 UI 服务器或任何其他具有 UI 界面且由 Window Server 使用的 Mac 应用程序 我想从 Proce
  • 尝试发送 Android 图像时应用程序崩溃

    我在尝试将图像从我的应用程序发送到服务器时遇到问题 我知道它在哪里崩溃 这些是我的文件 RestClient java package edu gvsu cis masl camerademo import android util Log
  • 嵌套跨度上未禁用 CSS 直通

    CSS ol margin 0 30px li margin 15px 0 li done text decoration line through li done span text decoration none background
  • 使用“$CI_JOB_TOKEN”“包含”私有项目文件

    到目前为止我得到的是 可以通过以下方式进行身份验证Personal Access Token and include外部 CI 脚本 但更简洁的方法是使用 CI JOB TOKEN因为它更安全 更受限制 我正在研究是否可以通过这种方式完成
  • 多个 dropzone.js - 单页

    不是在单个 dropzone 元素上上传多个文件 是否可以在单个页面上拥有多个 dropzone 元素 当有多个元素时 选择对话框后似乎 dropzone 甚至不会触发 每个元素都初始化了自己的 dropzone 使用 dropzone 的
  • 为什么 jest.spyOn() 有时不能在 Vue 组件的方法上工作?

    我看到该方法作为事件处理程序所做的更改 但是jest spyOn wrapper vm methodName 在主要情况下无法接听电话 但在某些测试中它以某种方式起作用 我怀疑可能会重新渲染 也许是因为options论证中mount 调用
  • maven 和 jboss 模块

    我是 Maven 和 jboss 的新手 所以我试图从它们之间的合作中受益 我在 Eclipse 中有一个 Maven 项目 该项目有许多依赖项 在运行时我想将它们作为 jboss 的模块提供 否则我的 EAR 将非常大 我还使用 Nexu
  • 如何在 MVC 3 中关闭客户端验证?

    我有一个客户端验证框架 我更喜欢使用它 而不是 ASP NET MVC 3 附带的现有框架 有谁知道如何在 MVC 3 中禁用它 我已经尝试过以下方法 HtmlHelper ClientValidationEnabled false Htm
  • 如何根据用户区域设置 Dygraphs 图例中的日期和时间格式

    我有一个图表 显示设备随时间的功率输出 我想格式化图例 以便它以当前用户所在位置的样式显示时间戳 例如 在美国 它会显示MM DD YY h m s am pm 并且在欧盟会显示DD MM YYYY HH MM SS ETC 目前 它是默认
  • 无法显示 HTML + SVG

    我以前用过JEditorPane 但只能显示HTML 不能显示SVG 嵌套SVG HTML也不能完整显示 然后我用JSVGCanvas 但只能显示SVG 不能显示HTML 有什么办法可以解决这个问题吗 配置JEditorPane使用JSVG
  • 我无法将 ComboBox 停靠在 TableLayoutPanel 单元格中

    请看下图 我想对接一个组合框我的 TableLayoutPanel 的单元格中的控件 组合框Dock属性设置为Fill和Anchor财产给上 下 左 右 TL DR 这是预期的行为 对于ComboBox环境Dock to Fill没有填满容
  • Spring @RequestMapping“不包含”正则表达式

    我有这个请求映射 RequestMapping value route to destination from departure html method RequestMethod GET RequestMethod HEAD 我想添加