使用Jersey使用Java中的XML



我构建了一个web应用程序,该应用程序生成对象的XML代码。令我惊讶的是,生成的xml完全正确,而且是我想要的格式。然而,我现在正在制作一个方法,它使用相同格式的xml,并将其返回到对象中。我如何测试它是否工作?

我曾尝试在chrome中使用REST扩展,该扩展发布与我的其他方法生成的XML完全相同的XML,但我得到了错误:"服务器拒绝了此请求,因为请求实体的格式不受请求方法的请求资源支持。"我也试过在代码中设置断点并以这种方式调试它,但我的断点从未达到。

@GET
@Produces(MediaType.TEXT_XML)
public week_program getXml() {
   week_program weekProgram = new week_program();            
   return weekProgram;
}
@POST    
@Consumes(MediaType.TEXT_XML)
public Response PostXml(week_program weekProgram) {
    System.out.println(weekProgram);
    return Response.status(Status.OK).entity(weekProgram).build();        
}

如果它确实有效,我该如何修复它,甚至正确测试它?

我建议使用json,而不是XML和谷歌的Gson。

由于json输出通常小于XML(无脂肪)。

对象到JSON

 DataObject obj = new DataObject();
 Gson gson = new Gson();
 String json_string = gson.toJson(obj);

JSON到对象

DataObject obj = gson.fromJson(json_string, DataObject.class);

这是一个教程。http://www.mkyong.com/java/how-do-convert-java-object-to-from-json-format-gson-api/

相关内容

  • 没有找到相关文章