是否可以在同一个@Path中使用regex为我的Rest提供两个不同的URI?

时间:2017-12-28 19:46:48

标签: java rest

我想知道是否可以使用正则表达式或其他方法在同一个(Rest)@Path中使用两个不同的URI。

例如:

@Path("{path: (/foo1|/foo2)}")
public class Service {
    ...
}

或类似的东西。

我想打电话给:

http://localhost/foo1
http://localhost/foo2

但使用相同的课程。

我很感激任何帮助。

1 个答案:

答案 0 :(得分:0)

可能(我自己没试过)。 From The RESTful Web Services Developer's Guide(这不是你的具体案例......正则表达式是留给读者的练习):

  

如果要求用户名必须仅由小写和大写数字字符组成,则可以声明将覆盖默认正则表达式[^/]+?的特定正则表达式。以下示例显示了如何将其与@Path注释一起使用。

@Path("users/{username: [a-zA-Z][a-zA-Z_0-9]}")

此示例来自上文引用的指南中的The @Path Annotation and URI Path Templates