I have simple hash cards that I want to send to JSON via Jersey. Does anyone have an example of how to perform such an operation, I tried the following
package de.vogella.jersey.first; import java.util.HashMap; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import com.sun.jersey.api.view.Viewable; // This method is called if XML is request @GET @Produces({ MediaType.APPLICATION_XML,MediaType.APPLICATION_JSON }) public HashMap sayXMLHello() { HashMap map = new HashMap(); map.put( new Integer( 2 ), "two" ); map.put( new Integer( 4 ), "four" ); return map; } // This method is called if HTML is request @GET @Produces(MediaType.TEXT_HTML) public String sayHtmlHello() { return "<html> " + "<title>" + "Hello Jersey" + "</title>" + "<body><h1>" + "Hello Jersey" + "</body></h1>" + "</html> "; } }
and then client
package de.vogella.jersey.first; import java.net.URI; import java.util.HashMap; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.UriBuilder; import com.sun.jersey.api.client.Client; import com.sun.jersey.api.client.ClientResponse; import com.sun.jersey.api.client.WebResource; import com.sun.jersey.api.client.config.ClientConfig; import com.sun.jersey.api.client.config.DefaultClientConfig; public class Test { public static void main(String[] args) { ClientConfig config = new DefaultClientConfig(); Client client = Client.create(config); WebResource service = client.resource(getBaseURI());
After deploying and calling the client class, I get the following error:
Exception in thread "main" com.sun.jersey.api.client.UniformInterfaceException: GET http://localhost:8080/de.vogella.jersey.first/rest/hello returned a response status of 500 Internal Server Error at com.sun.jersey.api.client.WebResource.handle(WebResource.java:686) at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74) at com.sun.jersey.api.client.WebResource$Builder.get(WebResource.java:507) at de.vogella.jersey.first.Test.main(Test.java:25)
so any ideas on how I can send a HashMap object from server to client using jersey? also I can not map the HashMap object to POJO in order not to have a homogeneous structure (constantly changing)
thanks.
source share