2017-02-20 12 views
1
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(); 
} 

付きGETリクエストのためcumpolsaryあるUID - >ヌルなぜ末尾のスラッシュは、私がヒットすると@Pathアノテーション

機能--2与える:UID-を - > abc

関数--2では、@pathにuidの後にスラッシュを追加しました。しかし、ドキュメントごとに、先行するスラッシュを追加することは必須ではありません。私は関数 - 1がnullを返す理由を理解していない?

答えて

1

URIの末尾にある/は省略可能で省略することができます。彼らは「/」で終わったかのように、ベースURIに対してパスを絶対値化する目的のために

、先頭に「/」のパスに無視され、ベースのURIが処理されます:あなたは@Path documentationで明らかであるが言ったようにこの場合

あなたが

を使用している実装の欠陥と思われます
関連する問題