使用Jersey在Java中使用XML

时间:2013-12-04 16:57:02

标签: java xml jersey

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

我尝试在chrome中使用REST扩展,发布与我的其他方法生成的完全相同的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();        
}

如何修复它,或者如果确实有效的话,我该如何正确测试?

1 个答案:

答案 0 :(得分:0)

我建议使用json代替XML和Gson from Google

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

对象为JSON

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

JSON to Object

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

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