外观
URL匹配规则说明 🎯
通配符说明 🔍
基础通配符
通配符 | 说明 | 匹配范围 |
---|---|---|
? | 单字符通配符 | 匹配任意一个字符 |
* | 字符串通配符 | 匹配任意数量字符(不含/) |
** | 路径通配符 | 匹配任意数量字符(含/) |
匹配规则详解 📝
1. 问号匹配 (?)
- 只匹配单个字符
- 不能匹配路径分隔符(/)
- 必须有一个字符与之对应
plaintext
/api/user? 可以匹配:
✓ /api/user1
✓ /api/userA
✗ /api/user/
✗ /api/users
2. 单星号匹配 (*)
- 匹配任意数量字符
- 不能跨越路径分隔符
- 可以匹配空字符串
plaintext
/api/user* 可以匹配:
✓ /api/user
✓ /api/user123
✓ /api/userABC
✗ /api/user/info
✗ /api/other
3. 双星号匹配 (**)
- 匹配任意数量字符
- 可以跨越路径分隔符
- 常用于多级路径匹配
plaintext
/api/**/user 可以匹配:
✓ /api/user
✓ /api/v1/user
✓ /api/v1/test/user
✓ /api/a/b/c/user
实用示例 💡
1. API版本匹配
plaintext
/api/v?/* 匹配示例:
✓ /api/v1/users
✓ /api/v2/orders
✗ /api/v10/users
2. 多级资源匹配
plaintext
/api/**/data 匹配示例:
✓ /api/data
✓ /api/user/data
✓ /api/user/profile/data
3. 文件类型匹配
plaintext
/static/*.jpg 匹配示例:
✓ /static/image.jpg
✓ /static/photo.jpg
✗ /static/docs/image.jpg
使用建议 📌
- 优先使用精确匹配
- 合理使用通配符,避免过于宽泛
- 按照最具体到最模糊的顺序配置规则
- 注意通配符的作用范围和限制
注意事项 ⚠️
?
必须对应一个字符*
不能跨越路径分隔符**
慎用,可能影响性能- 规则从上到下匹配,注意顺序