Site Overlay

Spring RestTemplate

na het leren bouwen van Spring REST API voor XML representatie en JSON representatie, laten we leren Spring REST client te bouwen met behulp van de Spring RestTemplate om de API ‘ s te consumeren die we in gekoppelde voorbeelden hebben geschreven.

opmerking: Spring docs raden aan om de niet-blokkerende, reactieve WebClient te gebruiken die efficiënte ondersteuning biedt voor zowel sync -, async-als streaming-scenario ‘ s. RestTemplate wordt in de toekomstige versies verouderd.,

Spring RestTemplate class

toegang tot de REST API ‘ s in een Spring applicatie draait om het gebruik van de Spring RestTemplate class. DeRestTemplate klasse is ontworpen volgens dezelfde principes als de vele andere Spring *Template klassen (bijvoorbeeld JdbcTemplate, JmsTemplate), waardoor een vereenvoudigde benadering wordt geboden met standaardgedrag voor het uitvoeren van complexe taken.

gegeven dat de klasse RestTemplate een synchrone client is die is ontworpen om RUSTDIENSTEN aan te roepen., Het zou geen verrassing moeten zijn dat de primaire methoden nauw verbonden zijn met de onderbouwing van REST, die de methoden van het HTTP-protocol HEAD, GET, POST, PUT, DELETE en opties zijn.

Building RestTemplate Bean

onderstaande voorbeelden zijn enkele voorbeelden om RestTemplate bean aan te maken in de toepassing. We kijken alleen naar zeer eenvoudige bonendefinities. Voor uitgebreide configuratie opties, verwijzen wij u naar RestTemplate configuratie met HttpClient.

2.1. RestTemplateBuilder

gebruiken 2.2. SimpleClientHttpRequestFactory

2.3., 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. Inspuiten RestTemplate bean

om de RestTemplate bean te injecteren, gebruik de bekende @Autowired annotatie. Als u meerdere bonen van het type RestTemplate met verschillende configuraties hebt, gebruik dan ook de @Qualifier annotatie.

@Autowiredprivate RestTemplate restTemplate;

Spring RestTemplate-HTTP GET voorbeeld

beschikbare methoden zijn:

  • getForObject(url, classType) – haal een representatie op door een GET uit te voeren op de URL., Het antwoord (indien van toepassing) wordt niet op het gegeven class type aangeroepen en geretourneerd.
  • getForEntity (url, responseType) – haal een representatie op als Responseit door een GET op de URL te doen.
  • exchange (requestEntity, responseType) – voer de opgegeven RequestEntity uit en retourneer het antwoord als ResponseEntity.
  • uitvoeren (url, httpmethod, requestCallback, responseExtractor) – voer de httpMethod uit naar de gegeven URI-sjabloon, bereid het verzoek voor met de RequestCallback en lees het antwoord met een ResponseExtractor.

3.1., HTTP GET REST API ‘ s

3.2. Spring RestTemplate voorbeeld om REST API

te consumeren In het gegeven voorbeeld halen we het API-antwoord op in stringvorm. We moeten ObjectMapper gebruiken om het te ontleden naar de POJO voordat we het gebruiken.

deze methode is handig als we een niet-parseerbare reactie van de server krijgen, en we hebben geen controle om het op de server te laten repareren. Hier kunnen we het antwoord krijgen als String, en een aangepaste parser of stringvervangingsfuncties gebruiken voordat we het antwoord gebruiken.

3.3., Spring RestTemplate voorbeeld om API-respons te consumeren in POJO

In het gegeven voorbeeld halen we de API-respons direct op in het domeinobject.

met behulp van getForObject() methode

met behulp van getforrentity () methode

3.4. HTTP-Headers verzenden met RestTemplate

3.5. URL-Parameters verzenden met RestTemplate

Spring RestTemplate – HTTP POST voorbeeld

beschikbare methoden zijn:

  • postForObject(url, request, classType) – Post het gegeven object naar de URL, en geeft de representatie terug die in het antwoord gevonden is als gegeven class type.,
  • postForEntity (url, request, responseType) – Post het opgegeven object op de URL en geeft het antwoord terug als Responseit.
  • postForLocation (url, request, responseType) – Post het opgegeven object naar de URL, en geeft de waarde van de Location header terug.
  • exchange(url, requestEntity, responseType)
  • uitvoeren (url, httpMethod, requestCallback, responseExtractor)

4.1. HTTP POST REST API

de POST API, die we in dit voorbeeld zullen gebruiken.

4.2., Spring RestTemplate voorbeeld om POST API

te gebruiken Spring REST client met RestTemplate om toegang te krijgen tot HTTP POST api verzoeken.

Spring RestTemplate-HTTP PUT Method voorbeeld

beschikbare methoden zijn:

  • put(url, request) – zet het opgegeven verzoek object op URL.

5.1. HTTP PUT REST API

5.2. Spring RestTemplate voorbeeld om PUT API

Spring RestTemplate-HTTP DELETE Method voorbeeld

beschikbare methoden zijn:

  • delete(url) – verwijdert de bron op de opgegeven URL.

6.1., HTTP delete REST API

6.2. Spring RestTemplate voorbeeld om te consumeren DELETE API

voel je vrij om bovenstaande Spring RestTemplate voorbeelden te kopiëren en te wijzigen voor het bouwen van de Spring REST API consument in uw Spring WebMVC applicatie.,

RestTemplate Voorbeelden

de Lente RestTemplate basic-verificatie voorbeeld
de Lente RestTemplate time-out configuratie-voorbeeld
de Lente RestTemplateBuilder Voorbeeld
de Lente RestTemplate – HttpClient configuratie-voorbeeld
de Lente Boot RestTemplate KRIJGEN Voorbeeld
de Lente Boot RestTemplate POST-Voorbeeld
de Lente boot JUnit voorbeeld met RestTemplate
de Lente boot TestRestTemplate POST met kop-voorbeeld
de Lente ClientHttpRequestInterceptor met RestTemplate

Gelukkig Leren !!

Was dit bericht nuttig?

laat ons weten of je het bericht leuk vond., Dat is de enige manier waarop we kunnen verbeteren.
Ja
No

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *