首页 > 解决方案 > 将 v1 插入 @Path 注释(java 1.6)

问题描述

我们当前的路径注释省略了“v1”,我们想插入它。由于我们不能有多个 Path 注释,有没有办法使用正则表达式添加 v1?我已经看到这用于参数,但不适用于端点中的常量。

因此,如果我的路径注释当前看起来像这样:

@Path("/rest/noun")

可以用这样的东西代替吗?

@Path("/rest/noun|/rest/v1/noun")

由于一些用户正在使用 /rest/noun 的原始路径,我想提供更正的路径和旧路径,而不是破坏他们当前的功能。我想提供这两个:

/rest/noun
/rest/v1/noun

标签: javaannotations

解决方案


如果您想为相同的执行代码提供多个路径,您可以创建包装函数,在内部调用当前函数,如下所示:

@Path("/rest/noun")
void currentfunction(){
//all functionality code here
}

@Path("/rest/v1/noun")
void newfunction(){
currentfunction();
}

或者你也可以使用:

@Path("/rest/{parameter: v1\\/noun|noun}")
void currentfunction(){
    //all functionality code here
    }

推荐阅读