Spring Path首选可选Param

时间:2014-07-22 07:48:05

标签: spring-mvc path

我正在开发 Spring MVC ,我在控制器中有这个方法:

@Path("{p:/?}{ente:(([a-zA-Z]{3})?)}/getEnabledServices")
public RicercheAttive getEnabledServices(@PathParam("ente") String ente) {
    ...
}

接受 / RED / getEnabledServices 但不 / getEnabledServices

我想要第一个参数可选,但仅当参数 ente getEnabledServices 之后才能起作用:

@Path("/getEnabledServices/{p:/?}{ente:(([a-zA-Z]{3})?)}")

接受 / getEnabledServices / RED AND / getEnabledServices

有任何建议(第一种情况)?

提前致谢。

1 个答案:

答案 0 :(得分:0)

我不确定你是否可以像这样正确地注册端点,以便在开头时没有匹配。最简单的方法是在控制器中单独创建方法(如方法覆盖)。一个匹配/RED/getEnabledServices,另一个匹配/getEnabledServices

@Path("{ente:([a-zA-Z]{3})}/getEnabledServices")
public RicercheAttive getEnabledServicesWithParam(@PathParam("ente") String ente) {
   ...
}


@Path("/getEnabledServices")
public RicercheAttive getEnabledServicesWithoutParam() {
   ...
}

我的Spring之旅已经从Spring 3.0发布开始,你有@RequestMapping@PathVariable。我想把它写成评论,但我没有足够的声誉......