【发布时间】:2018-07-01 15:00:14
【问题描述】:
我正在尝试在 MockServer 中设置一些期望,我对匹配此路径的请求有特定的期望
/api/users/:user_id
使用正则表达式/api/users/.*。
但是,在访问特定于用户的资源时,我还有一些其他期望:
/api/users/:user_id/books
/api/users/:user_id/books/:book_id
/api/users/:user_id/holidays
我不太确定如何正确使用正则表达式来匹配第一个路径,同时又不会影响对用户特定资源的请求(即所有请求都在第一个路径上匹配)。
例如,我相信对于 /api/users/:user_id/books 路径,我可以使用正则表达式 /api/users/.*/books,但这永远不会匹配,因为第一个路径的正则表达式 /api/users/.* 将始终匹配这些更深层次的 URL。
我一直在阅读 this page,但无法完全弄清楚如何在这种特殊情况下正确使用正则表达式
【问题讨论】:
-
:user_id可以取什么值?或者,您是否尝试匹配文字文本:user_id? -
它接受任何带有字母数字字符的字符串
-
从我收集到的信息看来 ([^/]+) 可以满足我的需要
标签: java regex url url-parsing mockserver