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对我们来说相当昂贵:(