如何如果一个请求 path ,找到一个接口定义。 原因是会有 path variable 的存在。 比如我在数据库存储定义 /v2ex/{name}/{age} 我有一个请求 /v2ex/name1/11 能正确找到上述的定义中去呢?
1
timethinker 2021-12-20 11:42:17 +08:00
如果你想直接通过 SQL 来进行匹配,可以使用正则表达式,取决于数据库支持的函数和运算符。不过看来这种元数据不会太多,因此全表扫描也是可以接受的。
可以看一下 Spring 是如何匹配的: https://github.com/spring-projects/spring-framework/blob/main/spring-core/src/main/java/org/springframework/util/AntPathMatcher.java |
2
leonme 2021-12-20 12:44:54 +08:00 via iPhone
不知道要表达什么?重新组织下语言吧
|
3
InDom 2021-12-20 12:52:56 +08:00
如果你是一个后端,新接手了一个项目,然后提出这个问题:
那我猜你问的是路由相关的概念。 如果你是一个熟手,那我猜你问的是路由实现中的参数绑定相关的。 我猜测,/v2ex 是路由名称,后面是参数绑定的。 具体映射是在路由中处理,常见做法是正则表达式方案。 /v2ex/(?<name>[^/]+)/(?<age>[0-9]+) 类似的做法。 |