Is that mandatory to use @XmlRootElement for JSON responce also in Jersey webservices?
13,684
Solution 1
I got alternative solution for this @XmlRootElement
, if we wanted to generate JSON response with out using @XmlRootElement
we should go for Jersey Jackson library. Add the below given code in web.xml
(DD file)
<init-param>
<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
and Jackson API related jar's.
Solution 2
If you are using Jersey and Maven , then just go to your pom.xml and uncomment/add below code depending on your case
<!-- uncomment this to get JSON support
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-binding</artifactId>
</dependency>
-->
After this, you can use @Produces(MediaType.APPLICATION_JSON)
and you will get JSON response.
Author by
NarayanaReddy
Updated on June 09, 2022Comments
-
NarayanaReddy almost 2 years
My code actually contains one resource class and one BEan class it's return type is JSON.
Resource Class
@Path("/json") public class JSONRetrive { @GET @Produces(MediaType.APPLICATION_JSON) public JSONT getJson(){ JSONT jsont = new JSONT(); jsont.setJsont("inr"); return jsont; } }
/* Is there any Annotation will represent JSON. Do i need to use any other Annotation for this.*/
My Bean class
//@XmlRootElement public class JSONT { private String jsont; public String getJsont() { return jsont; } public void setJsont(String jsont) { this.jsont = jsont; } }
If i uncomment @XmlRootElement it is working fine is there any other alternative solution for this