我正在用 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 的正则表达式?每次更改其他文件时,您都必须更改它。