【发布时间】:2010-12-11 18:15:52
【问题描述】:
我正在使用 RESTeasy 编写一个 RESTful Web 服务。这是 JAX-RS 的实现。您使用单个 @Path 注释来注释类或方法。正则表达式用于获取路径参数。比如
@Path("/foo{varname:.*}/bar")
匹配所有以“/foo”开头、以“/bar”结尾以及介于两者之间的所有模式。介于两者之间的任何内容都分配给名为 varname 的参数。
一些框架(如 Django)有一个正则表达式和方法的列表,这些正则表达式和方法将按顺序尝试。例如 /john/q/smith、/john/{.*}/smith、/john/{.*}/{.*}。 "/john/henry/smith" 匹配第二个和第三个,但第二个将被调度,因为它是找到的第一个匹配项。
这在 JAX-RS 中是可能的,还是类和方法没有固有的顺序?对于 /john/{.*}/{.*},您是否必须编写一个表示 /john/anything/anythingbutsmith 的正则表达式?每次更改其他文件时都必须更改它。
【问题讨论】:
标签: jax-rs resteasy servlet-dispatching