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
今天继续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