Efter att lära sig att bygga Våren REST API för XML-representation och JSON representation, kan lära sig att bygga upp Spring RESTEN klient med Våren RestTemplate att konsumera de Api: er som vi har skrivit i länkade exempel.
WebClient
som erbjuder effektivt stöd för både synk -, asynk-och streamingscenarier. RestTemplate
kommer att skrivas ut i framtida versioner.,Spring RestTemplate class
åtkomst till REST API: er i en Spring-applikation kretsar kring användningen av Spring RestTemplate-klassen. KlassenRestTemplate
är utformad på samma principer som den många andra våren*Template
klasser (t.ex.JdbcTemplate
,JmsTemplate
), vilket ger ett förenklat tillvägagångssätt med standardbeteenden för att utföra komplexa uppgifter.
Med tanke på att klassenRestTemplate
är en synkron klient som är utformad för att ringa REST-tjänster., Det bör komma som ingen överraskning att dess primära metoder är nära knutna till vila underbyggnader, som är HTTP-protokollets metoder Huvud, få, posta, sätta, ta bort och alternativ.
bygga RestTemplate Bean
nedan ges några exempel för att skapaRestTemplate
bean i programmet. Vi tittar bara på mycket enkla böndefinitioner. För omfattande konfigurationsalternativ, se RestTemplate konfiguration med HttpClient.
2.1. Använda RestTemplateBuilder
2.2. Använda SimpleClientHttpRequestFactory
2.3., Använda 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. Injicera RestTemplate bean
för att injiceraRestTemplate
bean, använd den välkända@Autowired
– anteckningen. Om du har flera bönor av typen RestTemplate
med olika konfigurationer, använd @Qualifier
– anteckningen också.
@Autowiredprivate RestTemplate restTemplate;
Spring RestTemplate – HTTP GET Example
tillgängliga metoder är:
- getForObject(url, classType) – hämta en representation genom att göra en GET på webbadressen., Svaret (om någon) är omärkt till given klasstyp och returneras.
- getForEntity(url, responseType) – hämta en representation som ResponseEntity genom att göra en FÅ på WEBBADRESSEN.
- utbyte(requestEntity, responseType) – utföra den angivna
RequestEntity
och skickar tillbaka svaret som ResponseEntity. - execute(url, httpMethod, requestCallback, responseExtractor) – utföra httpMethod till viss URI mall, förbereda denna begäran med RequestCallback, och läser svar med en ResponseExtractor.
3.1., HTTP GET REST API: er
3.2. Exempel på Spring RestTemplate för att konsumera REST API
i det angivna exemplet hämtar vi API-svaret i strängform. Vi måste använda ObjectMapper
för att tolka den till POJO innan du använder den.
den här metoden är användbar när vi får ett oöverträffat svar från servern, och vi har ingen kontroll för att få det fixat på serversidan. Här kan vi få svaret som String
, och använda en anpassad parser eller strängbytesfunktioner innan du använder svaret.
3.3., Spring RestTemplate exempel för att konsumera API-svar i POJO
i det givna exemplet hämtar vi API-svaret direkt i domänobjektet.
använda getForObject() metod
använda getForEntity() metod
3.4. Skicka HTTP-rubriker med RestTemplate
3.5. Skicka webbadressparametrar med RestTemplate
Spring RestTemplate-HTTP POST exempel
tillgängliga metoder är:
- postForObject(url, request, classType) – inlägg det givna objektet till webbadressen, och returnerar representationen som finns i svaret som given klasstyp.,
- postForEntity(url, request, responseType) – Postar Det givna objektet till webbadressen och returnerar svaret som ResponseEntity.
- postForLocation(url, request, responseType) – Postar Det givna objektet till webbadressen och returnerar värdet för
Location
– rubriken. - utbyte(url, requestEntity, responseType)
- execute(url, httpMethod, requestCallback, responseExtractor)
4.1. HTTP POST REST API
POST API, vi kommer att konsumera i det här exemplet.
4. 2., Våren RestTemplate exempel att konsumera INLÄGG API
Vår RESTEN klient med RestTemplate
HTTP POST för att få tillgång till api-förfrågningar.
Spring RestTemplate-HTTP PUT Method exempel
tillgängliga metoder är:
- put(url, request) – sätter den givna begäran objektet till URL.
5. 1. HTTP SÄTTA REST API
5.2. Spring RestTemplate exempel att konsumera PUT API
Spring RestTemplate-HTTP DELETE Method exempel
tillgängliga metoder är:
- delete(url) – raderar resursen på den angivna webbadressen.
6.1., HTTP ta BORT REST API
6.2. Spring RestTemplate exempel att konsumera DELETE API
Känn dig fri att kopiera och ändra ovan Spring RestTemplate exempel för att bygga Spring REST API konsumenten i din Spring WebMVC ansökan.,
RestTemplate exempel
Spring RestTemplate basic authentication exempel
Spring RestTemplate timeout configuration exempel
Spring RestTemplateBuilder exempel
Spring RestTemplate – HttpClient configuration exempel
Spring Boot RestTemplate GET exempel
Spring Boot RestTemplate POST exempel
Spring boot JUnit exempel med RestTemplate
Spring boot TestRestTemplate POST med rubriker exempel
Spring clienthttprequestinterceptor med resttemplate
glad inlärning !!