Pobieranie Json-a przez RestTemplate

0

Hej, mam prostego jsona w formie tablicy ze stringami w środku, np
[
"A",
"B",
"C"
]
I nie mogę go pobrać w formie tablicy lub listy. Próbowałem tak:
RestTemplate restTemplate = new RestTemplate();
String[] x = restTemplate.getForEntity(URL, String[].class).getBody();

ale nie działa. Mogę go pobrać jako zwykłego stringa tak:
RestTemplate restTemplate = new RestTemplate();
String x = restTemplate.getForEntity(URL, String.class).getBody();

ale nie mam wtedy dostępu do poszczególnych elementów, co jest dla mnie bezużyteczne.
Macie może pomysł co robię nie tak i jak pobrać tego jsona w firmie tablicy?

0
Saguaro12 napisał(a):

I nie mogę go pobrać w formie tablicy lub listy. Próbowałem tak:

A jak konkretnie ?

@Saguaro12:

Tablice String[].class nie są lubią być w deserializerach REST/JSON, m.in. wszystkie znane mi desertializery cierpią na konstruktor tablicy, nie jest on typowy, i nie da się wywołać nie znając ilości, deserializer chce konstruktor bezargumentowy)

Ale List<String> pewnie będzie lepszy

ps. o springowym RestTemplate nie wiem chyba nic - mówię o generalnych cechach w dziedzinie

0

List<String> x = restTemplate.getForEntity(URL, List.class).getBody();
też nie działa

2
Saguaro12 napisał(a):

List<String> x = restTemplate.getForEntity(URL, List.class).getBody();
też nie działa

Nie akceptujemy tu słowa "nie działa"

a) nie kompiluje się - z jakim komuniatem
b) rzuca wyjatkiem - jakim
c) działa odmiennie od oczekiwania: jakie jest oczekiwane / jakie rzeczywiste

0

Rzuca takim wyjątkiem:
java.lang.IllegalStateException: Failed to execute CommandLineRunner
.
.
.
Caused by: org.springframework.web.client.UnknownContentTypeException: Could not extract response: no suitable HttpMessageConverter found for response type [interface java.util.List] and content type [text/plain;charset=utf-8]

0
Saguaro12 napisał(a):

Rzuca takim wyjątkiem:
java.lang.IllegalStateException: Failed to execute CommandLineRunner
.
.
.
Caused by: org.springframework.web.client.UnknownContentTypeException: Could not extract response: no suitable HttpMessageConverter found for response type [interface java.util.List] and content type [text/plain;charset=utf-8]

Rozumiem, że masz pewność, że inne linie stosu nie są ważne ?

1

Wydaje mi się że problemem może być zwracany content type. Zamiast text/plain powinieneś otrzymać application/json.

1 użytkowników online, w tym zalogowanych: 0, gości: 1