有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

REST服务中的java返回XML响应

我正在编写一个RESTful web服务,其中我希望返回一个包含一些结果集的XML。我使用了XSTREAM并将对象解析为XML字符串。因为我需要返回这个字符串,所以我需要知道如何将它传递回调用客户端

一种方法是将响应返回给调用客户端。我的示例代码显示了我正在尝试做的事情

@Path("somepath")
public class ClassToReturnXML
{
    public Response methodToReturnXML()
    {

       ResponseBuilder builder = new ResponseBuilderImpl();
       builder.type(MediaType.TEXT_XML);
       builder.entity(myXMLString);
       return builder.build();
    }
}

不幸的是,它没有返回实体,尽管状态代码是200。我是否错误地实例化了ResponseBuilder?我还看到它应该被实例化如下:

ResponseBuilder builder = Response.status(200);

请建议返回XML作为响应的合适方式

我正在使用apachecxf实现RESTFUL服务。(我猜是2.2.3版):D 提前谢谢你的帮助


共 (2) 个答案

  1. # 1 楼答案

    HTTP响应是否有正确的内容类型头来标识它是Xml,即text/xmlapplication\xml?结帐The Proper Content Type for XML Feeds

    响应状态200只是标准HTTP Response Codes中的一个,这意味着请求已成功,因此只有在这种情况下才返回它

  2. # 2 楼答案

    只是清洁问题。它最终奏效了。我最终以下面的方式做出了回应

    Response response = Response.status(200).type(MediaType.TEXT_XML).entity(xmlString).build();
    

    它很好用。我希望它能帮助别人