Java 使用“Restful”命令使用Restful路径/&引用;

Java 使用“Restful”命令使用Restful路径/&引用;,java,rest,path,uri,Java,Rest,Path,Uri,@Path的值以“/”开头与不以“/”开头有区别吗 我已经测试了这两种用法,都能正常工作 @Path("message") public class MessageServices { @PUT @Path("sendsms") @Consumes(MediaType.APPLICATION_JSON) @Produces({MediaType.APPLICATION_JSON}) public Response sendSms() {

@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() {
        //....
    }

}
根据教程:

@Path值不需要有前导或尾随斜杠(/)。 JAX-RS运行时解析URI路径模板时,无论是否相同 它们有前导空格或尾随空格

所以看起来没有什么区别


另外,我曾经看到过一个与JAX-RS运行时本身没有直接关系的细微差别。一个有缺陷的文档生成框架正在生成丑陋的双斜杠资源链接,以防@Path中的斜杠领先,我从来没有看到任何区别。而
@Path
()的文档说明:

路径是相对的。对于带注释的类,基本URI是应用程序路径,请参阅ApplicationPath。对于带注释的方法,基URI是包含类的有效URI。为了根据基URI绝对化路径,将忽略路径中的前导“/”,并将基URI视为以“/”结尾

所以应该没有什么区别