Python Bottle:路由器无法在URL中间匹配通配符过滤器

时间:2015-03-03 19:53:00

标签: python bottle

我正在尝试使用:path通配符过滤器(如here所述)来匹配我的URL的一部分,其中包含正斜杠字符。例如,如果我有URL:

/resources/adfs89s7/container/asdf%2Fasdf/items

(其中%2F是正斜杠),我想将它与路线匹配:

/resources/<resource_id>/container/<container_name:path>/items

但是,这当前返回Not Found错误。我有类似的URL,其中通配符过滤器位于URL的末尾,例如

/resources/<resource_id>/container/<container_name:path>

这似乎工作正常。有谁知道会发生什么?

1 个答案:

答案 0 :(得分:0)

从您的示例中,您的容器名称似乎已被转义(因为它们应该是)。在这种情况下,您不需要Bottle路线中的path类型说明符。即,你想要这个:

/resources/<resource_id>/container/<container_name>/items

还要记住,上面的路由匹配带有斜杠的路径,所以如果这是一个RESTful浏览API,那么你可能想要制作路径:

/resources/<resource_id>/container/<container_name>/items/