@QueryParam和@PathParam比较

1 先来看@queryparam
  1. Path("/users")
  2. public class UserService {
  3. @GET
  4. @Path("/query")
  5. public Response getUsers(
  6. @QueryParam("from") int from,
  7. @QueryParam("to") int to,
  8. @QueryParam("orderBy") List orderBy) {
  9. return Response
  10. .status(200)
  11. .entity("getUsers is called, from : " + from + ", to : " + to
  12. + ", orderBy" + orderBy.toString()).build();
  13. }
  14. }

URL输入为:users/query?from=100&to=200&orderBy=age&orderBy=name
此时,输出为:
getUsers is called, from : 100, to : 200, orderBy[age, name]

要注意的是,跟@pathparam不同,@queryparam中,指定的是URL中的参数是以键值对的形式出现的,而在程序中
@QueryParam("from") int from则读出URL中from的值, 而@pathparem中,URL中只出现参数的值,不出现键值对,比如: “/users/2011/06/30”

2,@PathParam例子

  1. @GET
  2. @Path("{year}/{month}/{day}")
  3. public Response getUserHistory(
  4. @PathParam("year") int year,
  5. @PathParam("month") int month,
  6. @PathParam("day") int day) {
  7. String date = year + "/" + month + "/" + day;
  8. return Response.status(200)
  9. .entity("getUserHistory is called, year/month/day : " + date)
  10. .build();
  11. }

你可能感兴趣的:(java)