I am following a tutorial, and also used the question https://stackoverflow.com/a/166269/2129 . Here is my Java class:
package com.crunchify.tutorial; import javax.ws.rs.DefaultValue; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Consumes; import javax.ws.rs.QueryParam; import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.MultivaluedMap; import javax.ws.rs.core.UriInfo; import org.json.simple.JSONObject; @Path("api") public class CrunchifyAPI { @SuppressWarnings("unchecked") @GET @Path("/get") @Consumes(MediaType.TEXT_PLAIN) public String get( @DefaultValue("111") @QueryParam("user") int user, @Context UriInfo uriInfo ) { MultivaluedMap<String, String> queryParams = uriInfo.getQueryParameters(); String nameParam = queryParams.getFirst("user"); System.out.println("Data Received: " + uriInfo.getRequestUri().getQuery() + " | " + nameParam); JSONObject obj = new JSONObject(); obj.put("auth", true); String ret = JSONObject.toJSONString(obj); return ret; } }
Here is what I get from the postman:
GET>> localhost/api/get?user=123
Answer:
{"auth":true}
Server Console:
Starting Crunchify Embedded Jersey HTTPServer... Started Crunchify Embedded Jersey HTTPServer Successfully !!! Data Received: ?user=123 | null User Authenticated: true
I tried with passing String, Integer, etc., but nothing works. The uri information is printed correctly, and the answer back is also beautiful. The problem is that I am not getting a read parameter in Java Code. I will need to pass many other parameters as soon as I can do this. Please suggest. Thanks!!
source share