Efter at lære at bygge Foråret REST API for XML-repræsentation og JSON repræsentation, giver mulighed for at lære at bygge Foråret RESTEN-klient med brug af Foråret RestTemplate til at forbruge de Api ‘ er som vi har skrevet i tilknytning eksempler. Bemærk: Spring docs anbefaler at bruge den ikke-blokerende, reaktive WebClient
, som tilbyder effektiv understøttelse af både sync, async og streaming scenarier. RestTemplate
vil blive udskrevet i de fremtidige versioner.,
Spring RestTemplate class
adgang til REST-API ‘ erne inde i en Fjederapplikation drejer sig om brugen af Spring RestTemplate-klassen. RestTemplate
class-er designet efter de samme principper, som mange andre Forår *Template
klasser (fx, JdbcTemplate
JmsTemplate
), hvilket giver en forenklet tilgang med standard adfærd til at udføre komplekse opgaver.
i betragtning af atRestTemplate
klasse er en synkron klient, der er designet til at kalde REST-tjenester., Det bør ikke komme som nogen overraskelse, at dens primære metoder er tæt knyttet til REST ‘ s fundament, som er http-protokollens metoder hoved, få, POST, sætte, slette og muligheder.
Building RestTemplate Bean
nedenstående er få eksempler til at opretteRestTemplate
bean i applikationen. Vi ser kun på meget enkle bønnedefinitioner. For omfattende konfigurationsindstillinger henvises til RestTemplate-konfiguration med HttpClient.
2, 1. Brug RestTemplateBuilder
2.2. Brug Simpleclienthttpre .uestfactory
2.3., Brug af Apache HTTPClient
@AutowiredCloseableHttpClient httpClient;@Beanpublic RestTemplate restTemplate() { RestTemplate restTemplate = new RestTemplate(clientHttpRequestFactory()); return restTemplate;}@Beanpublic HttpComponentsClientHttpRequestFactory clientHttpRequestFactory() { HttpComponentsClientHttpRequestFactory clientHttpRequestFactory = new HttpComponentsClientHttpRequestFactory(); clientHttpRequestFactory.setHttpClient(httpClient); return clientHttpRequestFactory;}
2.4. Injektion af RestTemplate bean
for at injicere RestTemplate
bean, brug den velkendte @Autowired
annotation. Hvis du har flere bønner af typen RestTemplate
med forskellige konfigurationer, skal du også bruge @Qualifier
annotation.
@Autowiredprivate RestTemplate restTemplate;
Forår RestTemplate – HTTP GET-Eksempel
Tilgængelige metoder er:
- getForObject(url, classType) – hente en repræsentation af at gøre en at KOMME på URL ‘ en., Svaret (hvis nogen) er umarkeret til given klasse type og returneres.
- getForEntity (url, responseType) – hent en repræsentation som ResponseEntity ved at gøre en GET på URL ‘ en.
- exchange(requestEntity, responseType) – udføre den angivne
RequestEntity
og returnerer dette svar, da ResponseEntity. - execute(url, httpMethod, requestCallback, responseExtractor) – udføre httpMethod til den givne URI skabelon, forbereder sig på anmodning RequestCallback, og læse svar med en ResponseExtractor.
3, 1., HTTP GET REST API ‘ er
3.2. Spring RestTemplate eksempel for at forbruge REST API
i det givne eksempel henter vi API-svaret i strengform. Vi skal bruge ObjectMapper
for at analysere det til POJO, før du bruger det.
denne metode er nyttig, når vi får et unparsable svar fra serveren, og vi har ingen kontrol for at få det rettet på serversiden. Her kan vi få svaret som String
, og brug en brugerdefineret parser eller strengudskiftningsfunktioner, før du bruger svaret.
3.3., Spring RestTemplate eksempel for at forbruge API-respons i POJO
i det givne eksempel henter vi API-svaret direkte ind i domæneobjektet.
brug af Getforobject() metode
brug af Getforentity() metode
3.4. Afsendelse af HTTP-overskrifter ved hjælp af RestTemplate
3.5. At sende URL-Parametre, som ved hjælp af RestTemplate
Forår RestTemplate – HTTP POST-Eksempel
Tilgængelige metoder er:
- postForObject(url, anmodning, classType) – Stillinger i det givne objekt til den URL-adresse, og returnerer den repræsentation, der findes i de svar, som er givet class type.,
- postForEntity(url, anmodning, responseType) – Stillinger i det givne objekt til URL, og returnerer svaret som ResponseEntity.
- postForLocation(url, anmodning, responseType) – Stillinger i det givne objekt til URL, og returnerer returnerer værdien af
Location
header. - exchange(url, requestEntity, responseType)
- execute(url, httpMethod, requestCallback, responseExtractor)
4.1. HTTP POST REST API
POST API, vi vil forbruge i dette eksempel.
4, 2., Spring RestTemplate eksempel for at forbruge post API
Spring REST client ved hjælp af RestTemplate
for at få adgang til HTTP POST api anmodninger.
Forår RestTemplate – HTTP SÆTTE Metode Eksempel
Tilgængelige metoder er:
- sætte(url-adresse, skal bestilles) – Sætter den givne anmodning objekt til URL.
5, 1. HTTP PUT REST API
5.2. Spring RestTemplate eksempel at forbruge PUT API
Spring RestTemplate – http DELETE Method eksempel
tilgængelige metoder er:
- delete(url) – sletter ressourcen på den angivne URL.
6.1., HTTP DELETE REST API
6.2. Spring RestTemplate eksempel for at forbruge slet API
du er velkommen til at kopiere og ændre ovenstående Spring RestTemplate eksempler til opbygning af Spring REST API forbruger i din Spring Springebmvc ansøgning.,
RestTemplate Eksempler
Forår RestTemplate grundlæggende godkendelse eksempel
Forår RestTemplate timeout-konfiguration eksempel
Forår RestTemplateBuilder Eksempel
Forår RestTemplate – HttpClient-konfiguration eksempel
Forår Boot RestTemplate KOMME Eksempel
Forår Boot RestTemplate INDLÆG Eksempel
Forår boot JUnit eksempel med RestTemplate
Forår boot TestRestTemplate INDLÆG med overskrifter eksempel
Forår ClientHttpRequestInterceptor med RestTemplate
Glade for at Lære !!