Coldfusion Coldbox路由动态路径变量数
我正在开发一个coldbox应用程序,我想在其中创建一个路由,该路由接受“n”个路径变量作为一个变量。这就是我的意思Coldfusion Coldbox路由动态路径变量数,coldfusion,coldbox,Coldfusion,Coldbox,我正在开发一个coldbox应用程序,我想在其中创建一个路由,该路由接受“n”个路径变量作为一个变量。这就是我的意思 http://localhost/api/variable1/variable2/variable3/... 我希望能够获取/api之后的所有内容,作为一个路径变量,在该路径变量上可以拆分/并获取值,或者能够迭代/api之后的所有变量 有没有办法设置一条路线来完成这项工作 with(pattern="/api", handler="api") .addRoute(pat
http://localhost/api/variable1/variable2/variable3/...
我希望能够获取/api
之后的所有内容,作为一个路径变量,在该路径变量上可以拆分/
并获取值,或者能够迭代/api
之后的所有变量
有没有办法设置一条路线来完成这项工作
with(pattern="/api", handler="api")
.addRoute(pattern="/:variables", action="index")
.endWith();
任何想法都将不胜感激。提前感谢。您可能知道,默认的路由范例是这样做名称-值对:
http://localhost/api/name1/value1/name2/value2/name3/value3
无需为此创建自定义路由,因为路由的匹配部分被分解为名称/值对并自动放置在rc中之后的所有内容
现在,听起来你只想在你的路线中有价值。如果知道变量的最大数量,可以创建一个可选的、递增命名的变量路由
addRoute(pattern="/:var1?/:var2?/:var3?/:var4?/:var5?", action="index")
现在,如果你可能真的有无限数量的变量,没有办法做一个路线,将符合这一点。您可以做的是让您的路由匹配/api位,并编写一个onRequestCapture拦截器,该拦截器捕获URL并对其进行自定义解析。注意,您可能需要删除ColdBox将尝试放入rc中的名称/值对
我要加上一个注意事项——这项工作真正起作用的唯一方法是提前知道传入变量的顺序,如果你知道这一点,没有理由不能为它创建一个已知的路由。否则,您基本上是重新构建SES拦截器,这是一种称为“内部平台效应”的反模式
正如您可能知道的,默认路由范例是这样做名称-值对:
http://localhost/api/name1/value1/name2/value2/name3/value3
无需为此创建自定义路由,因为路由的匹配部分被分解为名称/值对并自动放置在rc中之后的所有内容
现在,听起来你只想在你的路线中有价值。如果知道变量的最大数量,可以创建一个可选的、递增命名的变量路由
addRoute(pattern="/:var1?/:var2?/:var3?/:var4?/:var5?", action="index")
现在,如果你可能真的有无限数量的变量,没有办法做一个路线,将符合这一点。您可以做的是让您的路由匹配/api位,并编写一个onRequestCapture拦截器,该拦截器捕获URL并对其进行自定义解析。注意,您可能需要删除ColdBox将尝试放入rc中的名称/值对
我要加上一个注意事项——这项工作真正起作用的唯一方法是提前知道传入变量的顺序,如果你知道这一点,没有理由不能为它创建一个已知的路由。否则,您基本上是重新构建SES拦截器,这是一种称为“内部平台效应”的反模式
如果我的回答足以回答您的问题,您能否将其标记为已接受?如果我的回答足以回答您的问题,您能否将其标记为已接受?