Auf Thema antworten

Hallo zusammen,


habe das Problem, dass mein Response-Body immer null ist :( Irgendwas mapped nicht. Ich hoffe jemand kennt sich mit SpringBoot aus und Resttemplate. Vermutlich hab ich bei den Annotationen was zerhauen :/


Edit: hatte die Annotationen auch über den Getter-Methoden, half auch nichts


Folgendes holt die Daten (mit String kommt da auch was)

[CODE] private ApiResponse callExternalApi(String kundenNummer, String password) {

        String url = "https://www.domain.com/xmlapi/api.php?";

        UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(url)

                .queryParam("cid", kundenNummer)

                .queryParam("auth", password);

        System.out.println(builder.toUriString());


        HttpHeaders headers = new HttpHeaders();

        headers.setAccept(Arrays.asList(MediaType.APPLICATION_XML));

        headers.setContentType(MediaType.TEXT_XML);

        RestTemplate restTemplate = new RestTemplate();

        HttpEntity<String> entity = new HttpEntity<>(headers);


        ResponseEntity<ApiResponse> response = restTemplate.exchange(builder.toUriString(), HttpMethod.GET, entity, ApiResponse.class);

        return response.getBody();

    }[/CODE]


und hier mein ApiResponse-Objekt:

[CODE]@XmlRootElement(name = "API_RESPONSE")

public class ApiResponse {


    @XmlElement(name = "PRODUCTS")

    private Products products;


//Getter, Setter, No-Arg-Constructor und Arg-constructor

}

}[/CODE]


und das Products-Objekt mit einer Liste an "Product"-Objekten

[CODE]public class Products {


    @XmlElement(name = "PRODUCT")

    private List<Product> product;

 

    //Getter, Setter, Konstruktor

    }

}[/CODE]


Und das XML was als Response kommt:

[CODE=xml]<API_RESPONSE>

  <PRODUCTS>

    <PRODUCT>

    // weitere Werte

    </PRODUCT>

  </PRODUCTS>

<API_RESPONSE>[/CODE]


in der pom.xml hab ich :


[CODE=xml]<dependency>

    <groupId>com.fasterxml.jackson.dataformat</groupId>

    <artifactId>jackson-dataformat-xml</artifactId>

    <version>2.9.8</version>

</dependency>[/CODE]



Oben