How get JSON as response in jax-rs jersey web service? -
package com.webservice.rest.jaxb; import javax.xml.bind.annotation.xmlrootelement; @xmlrootelement(name="employee") public class employee { string name; string id; string location; float salary; public string getname() { return name; } public void setname(string name) { this.name = name; } public string getid() { return id; } public void setid(string id) { this.id = id; } public string getlocation() { return location; } public void setlocation(string location) { this.location = location; } public float getsalary() { return salary; } public void setsalary(float salary) { this.salary = salary; } @override public string tostring() { return "name [id=" + id + ", location=" + location + ", salary=" + salary + "]"; } }
here employeewebservice
package com.webservice.rest.jaxb; import javax.ws.rs.get; import javax.ws.rs.path; import javax.ws.rs.produces; import javax.ws.rs.core.mediatype; @path("/employee") public class employeeresource { @get @path("/getjson") @produces({mediatype.application_json}) public employee getjson() { employee emp = new employee(); emp.setname("ankesh"); emp.setid("2096"); emp.setlocation("pune_kolkata"); emp.setsalary(2097868); return emp; } }
below web .xml
<?xml version="1.0" encoding="utf-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemalocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="webapp_id" version="3.0"> <display-name>jaxbwithrs</display-name> <servlet> <servlet-name>jersey rest service</servlet-name> <servlet-class>org.glassfish.jersey.servlet.servletcontainer</servlet-class> <!-- register resources , providers under com.vogella.jersey.first package. --> <init-param> <param-name>jersey.config.server.provider.packages</param-name> <param-value>com.webservice.rest.jaxb</param-value> </init-param> <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> </servlet> <servlet-mapping> <servlet-name>jersey rest service</servlet-name> <url-pattern>/rest/*</url-pattern> </servlet-mapping> </web-app>
iam geting following exception
messagebodywriter not found media type=application/json, type=class com.webservice.rest.jaxb.employee, generictype=class com.webservice.rest.jaxb.employee.
below screenshot of lib directory
please let me know if missed anything!
Comments
Post a Comment