Jak wyciagnać wartość z odpowiedzi ?

Jak wyciagnać wartość z odpowiedzi ?
TM
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 91
0

Chciałbym wyciagnac value albo resonsPharse jak mogę to zrobic ?

Screenshot 2023-06-21 at 12.02.21.png

S4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1268
1

Szybko. Jestes bardzo oszczedny w słowach. Napisz co masz, co chesz osiągnąć i pokaz jakis kod.

TM
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 91
0
Kopiuj
private ResponseEntity<String> printUser(String url, String shipId) {
        HttpHeaders headers = new HttpHeaders();
        headers.setAccept(Arrays.asList(MediaType.APPLICATION_PDF, MediaType.APPLICATION_OCTET_STREAM));
        HttpEntity<String> entity = new HttpEntity<>(headers);
        HttpEntity<String> result = restTemplate.getForEntity(url + shipId, String.class);
        result ......
        return  null;
    }
KamilAdam
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Silesia/Marki
  • Postów: 5550
TM
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 91
0

@KamilAdam: też tak chciałem ale mam tylko

Screenshot 2023-06-21 at 19.55.44.png

KamilAdam
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Silesia/Marki
  • Postów: 5550
0
TakMaszRacje napisał(a):
Kopiuj
        HttpEntity<String> result = restTemplate.getForEntity(url + shipId, String.class);
    }

restTemplate.getForEntity powinien zwrócić ResponseEntity a nie HttpEntity. Zdokumentacji wynika że masz zły typ po lewej stronie https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/client/RestTemplate.html#getForEntity(java.lang.String,java.lang.Class,java.lang.Object...)

RequiredNickname
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 650
0

update: Nevermind: nie dopiłem kawy, myślałem, że chcesz to wyciągnąć z body :P

Skoro wołasz:

HttpEntity<String> result = restTemplate.getForEntity(url + shipId, String.class);

To w odpowiedzi masz obiekt HttpEntity z możliwością wyciągnięcia body jako String bo tak zadeklarowałeś po prawej i lewej stronie.

Zamiast podawać klasy String jako typ na który ma zostać zmapowane body, utwórz dto które odpowiada strukturze Twojej odpowiedzi i to dto zadeklaruj po prawej i lewej stronie:

HttpEntity<MyDto> result = restTemplate.getForEntity(url + shipId, MyDto.class);

Dzięki temu metoda getBody powinna zwrócić obiekt klasy MyDto a z tego obiektu to już chyba będziesz potrafił sobie wyciągnąć co potrzebujesz? ;-)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.