Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JAX-RS@Path能否指定长度要求?_Java_Regex_Jax Rs - Fatal编程技术网

Java JAX-RS@Path能否指定长度要求?

Java JAX-RS@Path能否指定长度要求?,java,regex,jax-rs,Java,Regex,Jax Rs,我一直在使用@Path(“{id:[a-zA-Z0-9-]*}”)用URL捕获预期的标识符 工作正常,但我希望确保这些标识符的长度在1-64个字符之间 根据Java Reg Exp文档,类似于@Path({id:[a-zA-Z0-9-]{1,64})的东西应该可以工作,但我遇到的是HTTP405 我错过了什么魔力?我真的很想应用简单的请求验证 更新:删除结束连字符会使事情变得生动起来。请注意,为什么…最终找到了解决方案: @Path("{id: [a-zA-Z0-9\\-]{1,64}}")

我一直在使用
@Path(“{id:[a-zA-Z0-9-]*}”)
用URL捕获预期的标识符

工作正常,但我希望确保这些标识符的长度在1-64个字符之间

根据Java Reg Exp文档,类似于
@Path({id:[a-zA-Z0-9-]{1,64})的东西应该可以工作,但我遇到的是
HTTP405

我错过了什么魔力?我真的很想应用简单的请求验证


更新:删除结束连字符会使事情变得生动起来。请注意,为什么…

最终找到了解决方案:

@Path("{id: [a-zA-Z0-9\\-]{1,64}}")

结尾连字符需要转义。

我已经使用jersey 1.12尝试了您的示例,它的效果与预期一样。如果“id”不在限制范围内(1,64),则路径不匹配,在这种情况下我得到404。我喜欢Intellij IDEA(社区版)的原因之一是它检测到这些类型的正则表达式错误。@Augusto Yep但使用Java EE意味着Intellij对我们来说相当昂贵:(