Reputation: 410
I am newbie with RESTful services, I am trying to make a restful api with the Jersey framework and MongoDB, my question is : How can i search data in the URL.
e.g : "localhost:9999/home/users/find?id=12345", it will return the user with the id = 12345
How can we do that with Jersey ?
Thank's
Upvotes: 0
Views: 2082
Reputation: 533
To use a query parameter in Jersey, you'll define it in the jersey Method signature like so:
@GET
@Path("home/users/find")
public Response myMethod(@QueryParam("id") int id) {
// utilizes the id specified in the url parameter "id"
User user = someMongoMethodToFindById(id);
}
Once you harvest the id correctly, you can then query your MongoDB however you'd like based on that passed-by-reference id
.
In Jersey, this method is often wrapped in a class in which all related Jersey Resources can be organized. My examples given utilize the Jersey Annotation style.
@Path("home/users")
public class UserResources {
@Path("find")
public Response myMethod(@QueryParam("id")) {
...
}
}
Upvotes: 0
Reputation: 1006
You may want to look at an article I wrote a few years ago. I have a full stack MongoDb, Jersey, Jetty server user admin application at the following github [here](https://github.com/pmkent/angular-bootstrap-java-rest"Angular Bootstrap Java Rest")!
Upvotes: 0
Reputation: 3236
You want to look into @PathParam and @QueryParam. You can find more about both of them here: http://docs.oracle.com/cd/E19776-01/820-4867/6nga7f5np/index.html
In short, a path param is the bit between the '/', in your example this is "find". and the query param is id, which has a value of 12345.
You will then need to look this up in a database I assume to get your result to return.
Upvotes: 1