Android注释+;RestTemplate-以字符串形式获取响应xml

Android注释+;RestTemplate-以字符串形式获取响应xml,android,xml,xml-parsing,resttemplate,android-annotations,Android,Xml,Xml Parsing,Resttemplate,Android Annotations,我需要使用一个输出XML的Web服务。在下面的代码段中: @Rest(rootUrl = "http://my.root.url", converters = { StringHttpMessageConverter.class, SimpleXmlHttpMessageConverter.class}) getResult方法可以返回带有HTML标记(如标记)的XML 因此,在解析XML之前,我必须先手动转换XML 但是RestTemplate可以很好地处理其他调用。所以我不想放弃它&到处写

我需要使用一个输出XML的Web服务。在下面的代码段中:

@Rest(rootUrl = "http://my.root.url", converters = { StringHttpMessageConverter.class, SimpleXmlHttpMessageConverter.class})
  • getResult方法可以返回带有HTML标记(如标记)的XML
  • 因此,在解析XML之前,我必须先手动转换XML
  • 但是RestTemplate可以很好地处理其他调用。所以我不想放弃它&到处写手动逻辑
  • 问题

    • 是否有一种内置方法可以使用RestTemplate将原始xml作为字符串返回
    • 我必须写一个自定义转换器吗?有什么建议吗
    以下是我的代码:

    @Rest(rootUrl = "http://my.root.url", converters ={SimpleXmlHttpMessageConverter.class })
    public interface MyRestClient {
    
       @Get("/path/to/restmethod/{day}")
       MyResponse getResult(int day);  <-------------- Returns null when return type is changed to String
    
    }
    
    @Rest(rootUrl=”http://my.root.url,转换器={SimpleXmlHttpMessageConverter.class})
    公共接口MyRestClient{
    @Get(“/path/to/restmethod/{day}”)
    
    MyResponse getResult(int day);好的,我自己找到了答案。除了将返回类型更改为String,我还必须添加StringHttpMessageConverter作为转换器。下面的代码片段:

    @Rest(rootUrl = "http://my.root.url", converters = { StringHttpMessageConverter.class, SimpleXmlHttpMessageConverter.class})
    
    注意: 转换器的顺序很重要