Site Overlay

Våren RestTemplate (Svenska)

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.

Obs: Spring docs rekommenderar att du använder icke-blockerande, reaktivaWebClient 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 !!

var det här inlägget användbart?

Låt oss veta om du gillade inlägget., Det är det enda sättet vi kan förbättra.
Ja
Nej

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *