2025-05-24

今天繼續JBOSS RESETEASY學習之參數學習。今天要學習的分別是@PathParam
和@matrixParam

1)@pathparam
   先看例子:
@Path("/users")
public class UserRestService {

@GET
@Path("{id}")
public Response getUserById(@PathParam("id") String id) {

   return Response.status(200).entity("getUserById is called, id : " + id).build();

}

}
URL如下:
   /users/22667788”
則匹配(@PathParam("id") String id)
  所以輸出:
  getUserById is called, id : 22667788

2)@pathparam匹配輸出多個參數:
   @Path("/users")
public class UserRestService {

@GET
@Path("{year}/{month}/{day}")
public Response getUserHistory(
@PathParam("year") int year,
@PathParam("month") int month,
@PathParam("day") int day) {

   String date = year + "/" + month + "/" + day;

   return Response.status(200)
.entity("getUserHistory is called, year/month/day : " + date)
.build();

}

}
則URl:“/users/2011/06/30”
匹配:
  getUserHistory is called, year/month/day : 2011/6/30

3)matrixparam
  這個主要是做分離參數的,比如:
@GET
@Path("{year}")
public Response getBooks(@PathParam("year") String year,
@MatrixParam("author") String author,
@MatrixParam("country") String country) {

return Response
.status(200)
.entity("getBooks is called, year : " + year
+ ", author : " + author + ", country : " + country)
.build();

}

URL:
  “/books/2011/”
結果:
getBooks is called, year : 2011, author : null, country : null

URL:/books/2011;author=mkyong;country=malaysia
結果:
  getBooks is called, year : 2011, author : mkyong, country : malaysia

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *