我正在使用 Resteasy。如果我声明一个方法并使用
@Path(value = "/") or @Path(value = "")
在该方法上。
两者是一样的吗?我的意思是 http://localhost:8080/test
和 http://localhost:8080/test/
将命中相同的方法。
如果是的话(这就是我的发现)。那么我如何识别请求 http://localhost:8080/test 和 http://localhost:8080/test/
并将它们映射到单独的函数,我在两个函数中都有单独数量的 get 参数请求。
最佳答案
根据JAX-RS specification (page 17) ,第 3.7.3 节将 URI 模板转换为正则表达式:
4. If the resulting string ends with '/' then remove the final character.
因此,@Path(value = "/")
和 @Path(value = "")
将命中相同的方法,因为尾随的 /第一个
将被删除。@Path
上的
因此,请求 http://localhost:8080/test
和 http://localhost:8080/test/
不各有不同。
关于java - Resteasy @Path(value = "/") vs @Path(value = "") 它们相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21934250/