Java 为什么带@path注释的GET请求使用尾随斜杠

Java 为什么带@path注释的GET请求使用尾随斜杠,java,spring,jax-rs,uri,relative-path,Java,Spring,Jax Rs,Uri,Relative Path,当我点击: 函数--1给出:UID-->null 函数--2给出:UID-->abc 在函数--2中,我只是在@path中的uid之后添加了斜杠。但根据文档,不强制添加前导斜杠。我不明白为什么函数--1会返回null?URI中的尾随/是可选的,可以省略。正如你所说,这一点在: 为了将路径与基URI绝对化,路径中的前导“/”被忽略,基URI被视为以“/”结尾。 在这种情况下,您使用的实现似乎存在缺陷 FUNCTION --1 @Path("/object/") public Class Tes

当我点击:

函数--1给出:UID-->null

函数--2给出:UID-->abc


在函数--2中,我只是在@path中的uid之后添加了斜杠。但根据文档,不强制添加前导斜杠。我不明白为什么函数--1会返回null?

URI中的尾随
/
是可选的,可以省略。正如你所说,这一点在:

为了将路径与基URI绝对化,路径中的前导“/”被忽略,基URI被视为以“/”结尾。

在这种情况下,您使用的实现似乎存在缺陷

FUNCTION --1

@Path("/object/") 
public Class TestService {

@GET
@Produces({ "application/json" })
@Path("/{uid}")
public Response hello(@PathParam("uid") String uid){
    System.out.println("UID-->" + uid);
    return Response.status(Response.Status.OK).build();
}

=====================================================================

FUNCTION --2

@Path("/object/")
public Class TestService {

@GET
@Produces({ "application/json" })
@Path("/{uid}/")
public Response hello(@PathParam("uid") String uid){
    System.out.println("UID-->" + uid);
    return Response.status(Response.Status.OK).build();
}