您好我尝试使用Jersey
从简单的休息中返回JsonHelloWorldService.class
@Path("/hello")
public class HelloWorldService {
@GET
@Path("/empdetail/{id}")
@Produces(MediaType.APPLICATION_JSON)
public EmpDetailsVo getEmpDetails(@PathParam("id") String id){
EmpDetailsVo details = new EmpDetailsVo();
details.empId="1202";
details.empName="Akhi";
details.empAddress="54 Cheswold Blvd Apt 517, Newark DE 19713";
return details;
}
}
EmpDetailsVo
类包含empId
,name
和address
的getter和setter。
当我尝试运行此网址时:
http://localhost:8080/jerseyRest/rest/hello/empdetail/1202
我获得了Http状态500
。
在控制台上我看到一个错误:
SEVERE: A message body writer for Java class jerseyRest.EmpDetailsVo, and Java type class jerseyRest.EmpDetailsVo, and MIME media type application/json was not found
并且
javax.ws.rs.WebApplicationException: com.sun.jersey.api.MessageException: A message body writer for Java class jerseyRest.EmpDetailsVo, and Java type class jerseyRest.EmpDetailsVo, and MIME media type application/json was not found
有人可以帮忙。
答案 0 :(得分:3)
您需要告诉Jersey如何将EmpDetailsVo
类型的对象编组和解组为JSON。
检查this tutorial以获取如何完成此操作的示例。这是另一个例子using a different approach。调查使用通过web.xml提供给您的Web应用程序的com.sun.jersey.api.json.POJOMappingFeature
参数,这应该可以帮助您。