在JAX-RS中,可以使用@PathParem
将@Path
表达式中定义的URI参数的值注入Java方法。
1. @PathParam –单参数
一种使用@PathParam
简单且正常的方法。
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.core.Response;
@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();
}
}
在上面的例子中,{ID}的从值“/ 用户/(编号)”将匹配于“@PathParam(‘ID’)字符串VAR“。
URI模式:“ / users / 22667788 ”
getUserById is called, id : 22667788
2. @PathParam –多个参数
将多个参数注入Java方法的示例。
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.core.Response;
@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();
}
}
URI模式:“ / users / 2011/06/30 ”
getUserHistory is called, year/month/day : 2011/6/30
下载源代码
下载它– JAX-RS-PathParam-Example.zip (6 KB)
参考文献
翻译自: https://mkyong.com/webservices/jax-rs/jax-rs-pathparam-example/