Java Spring Boot Rest-Api Consumieren

Peter P.

Cadet 3rd Year
Registriert
Mai 2017
Beiträge
32
Hallo liebe Community,

ich versuche aktuell mit Spring Boot externe Rest-Schnittstellen zu konsumieren. Ich habe dies mit folgendem Tutorial auch sehr erfolgreich umgesetzt.

https://spring.io/guides/gs/consuming-rest/

Leider gelingt es mit jedoch nur bei Rest-Schnitstellen welche vom Content-Type application/json utf8 sind. Aktuell versuche ich vom ITIS den Rest Service zu konsumieren welcher dem Application-Type text/json bietet.

https://itis.gov/ITISWebService/jsonservice/getFullRecordFromTSN?tsn=202384

Auch mein Versuch den Header umszustellen scheitert leider.

Code:
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity entity = new HttpEntity( headers);
ResponseEntity<String> result = restTemplate.exchange("https://itis.gov/ITISWebService/jsonservice/getFullRecordFromTSN?tsn=202384",HttpMethod.GET, entity, String.class);
log.info(result.getBody());

Als String lässt er sich jedoch erfolgreich Konsumieren.

Code:
String quote = restTemplate.getForObject(
        "https://itis.gov/ITISWebService/jsonservice/getFullHierarchyFromTSN?tsn=558090", String.class);
log.info(quote.toString());

Daher sehe ich aktuell zwei Möglichkeiten entweder gelint es den Headertypen text/json zu akzeptieren oder den konsumierten String als Json zu lesen.

Beide Möglichkeiten sind mir bis dato jedoch nicht gelungen. Hab Ihr mir einen Tipp?

Freundliche Grüße
Albus
 
Hab da zufällig schon was: https://github.com/majuss/globi-parasites/blob/master/documents/notes/old_code/itis_api_call.js
Das brauchst du:

Code:
    req.get({ path: `/ITISWebService/jsonservice/searchForAnyMatch?srchKey=${input_species}` }, (status, headers, body) => {
        body = JSON.parse(body);
        try {
            if (body.anyMatchList[0].tsn == null) console.log('fail')
            counter++;
        }
        catch (e) { console.log('no entry for this shit') }
        console.log(counter);
    })

Ind em Verzeichnis old_code ist auch noch ein WORMS api call, den sollteste dir auch angucken.
 
Zuletzt bearbeitet:
Hallo majusss,

dein Anatz gefällt mir gut, aber das ist eine Lösung für JavaScript.

Ich würde das Problem gerne mit Java Springboot lösen.


Viele Grüße
Peter
 
Zuletzt bearbeitet:
Zurück
Oben