@Path的值是否以“/”开头而没有
之间是否存在差异?我测试了两种用法,都正常工作。
@Path("message")
public class MessageServices {
@PUT
@Path("sendsms")
@Consumes(MediaType.APPLICATION_JSON)
@Produces({MediaType.APPLICATION_JSON})
public Response sendSms() {
//....
}
}
@Path("/message")
public class MessageServices {
@PUT
@Path("/sendsms")
@Consumes(MediaType.APPLICATION_JSON)
@Produces({MediaType.APPLICATION_JSON})
public Response sendSms() {
//....
}
}
答案 0 :(得分:8)
我从未见过任何差异。 @Path
(http://docs.oracle.com/javaee/7/api/javax/ws/rs/Path.html)的文档说:
路径是相对的。对于带注释的类,基URI是应用程序路径,请参阅ApplicationPath。对于带注释的方法,基URI是包含类的有效URI。为了对基URI进行绝对化路径,一个领先的' /'在路径中被忽略,基本URI被视为在' /'中结束。
所以应该没有任何区别。
答案 1 :(得分:2)
根据this教程:
@Path值不需要带有前导或斜杠(/)。 无论是否,JAX-RS运行时都会分析URI路径模板 他们有领先或尾随空间。
所以似乎没有区别。
P.S。我曾经看到一个与JAX-RS运行时本身没有直接关系的微小差异。一个错误的文档生成框架在@Path
中引入斜杠的情况下生成丑陋的双击资源链接