我正在开发 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
有任何建议(第一种情况)?
提前致谢。
答案 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
。我想把它写成评论,但我没有足够的声誉......