JAX-RS之@matrixParam跟@PathParam

JAX-RS之@matrixParam和@PathParam
今天继续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