[英]Can we implement both @pathparam and @queryparam for the same endpoint
我正在自学REST API开发。 作为此过程的一部分,我将创建一个Java Web服务器。 但是,我被困在某些东西上,并且不知道如何进行。
我有一个名为/users
的端点,用户可以通过该端点GET
数据。 但是,我想实现寻找用户并限制返回的用户数量的选项。 例如:
GET /users/300
应该返回ID为300的用户。 GET /users?count=10
,我希望将返回限制为10个用户。 为此,我决定使用@QueryParam
和@PathParam
。 问题是:我可以在同一方法中使用它们吗?
例如:
@Path("/User")
@Produces({"application/json"})
public List<User> getUsers() {
// ...
}
@GET
@Path("/{id}")
public JSONObject getUserwithId(@PathParam("id") int id) {
return jsonObjectwithId;
}
@Path("?count")
public JSONObject getUserwithCount(@QueryParam("count") int count) {
return noOfusers;
}
我想这是否可能。
是的,我之前在我亲自处理过的Web服务上已经做到了。 这并不常见,因为REST接口通常通常不具备所需的复杂性。 但是,完全允许同一方法使用@QueryParam
和@PathParam
。 我看到您正在使用Jersey。 基于此线程 ,如果您实际上正在使用Jersey 1.x,则在当前遇到问题时可能需要升级。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.