Class Level RequestMapping

时间:2015-06-09 14:34:00

标签: regex spring rest controller negative-lookahead

我正在使用Spring 3.0.1并开发一些REST调用。我有一个我之前在方法级别使用的正则表达式,它运行正常。但是,由于设计的变化,我决定将所有这些调用分成一个单独的控制器。因此,我使用相同的RegEx在类级别配置RequestMapping,但它似乎不起作用。可以在类级别映射中匹配的RegEx类型是否有限制?以下是2个电话:

@Controller
@RequestMapping("/abcd")
public class ControllerClass 
{....
  @RequestMapping(value="/{var1}/{var2:(?!(ABC|XYZ).+/{var3}")
  public @ResponseBody SomeObject doSomething(@PathVariable("var1") String var1, @PathVariable("var2") String var2), @PathVariable("var3") String var3 {.....}
}

以上工作正常,可以匹配任何内容,例如: / abcd / random / HJGK /并且与预期不匹配/ abcd / random / ABC /。

虽然以下方法不起作用:

@Controller
@RequestMapping("/abcd/{var1}/{var2:(?!(ABC|XYZ).+}/")
public class ControllerClass 
{....
  @RequestMapping(value="{var3}/")
  public @ResponseBody SomeObject doSomething(@PathVariable("var1") String var1, @PathVariable("var2") String var2, @PathVariable("var3") String var3) {.....}
}

知道这里可能有什么不同或错误吗?

0 个答案:

没有答案