Open In App

How to Call or Consume External API in Spring Boot?

Improve
Improve
Like Article
Like
Save
Share
Report

Spring Boot is built on the top of the spring and contains all the features of spring. And is becoming a favorite of developers these days because it is a rapid production-ready environment that enables the developers to directly focus on the logic instead of struggling with the configuration and setup. Spring Boot is a microservice-based framework and making a production-ready application in it takes very little time. Here we will learn how to create a Spring Boot application that will consume external API. We will be going through the following stages during this course:

Procedure:

  1. Create  Spring Boot Project.
  2. Create Rest Controllers and map API requests.
  3. Build and run the Project.
  4. Make a call to external API services and test it.

Now let us automate every step to detail with the help of visual aid so that 

Step 1: Creating Spring Boot project

First, visit the website and create a spring boot project. You can add another dependency also using the Dependencies section. Here we don’t need any additional dependencies. 

Remember: One can download the spring boot project by clicking on Generate tab.

creating spring boot project

Once the project is downloaded import it into your Eclipse IDE, then the sample will look like as follows:

spring boot project

Note: pom.xml contains all the dependencies which are needed for your projects and will look like as given below:

pom.xml

Step 2: Create Rest Controllers and map API requests

Now, let us create one sample rest API call in our Rest Controller class. This call will simply return “Hello world” as output. We will use this API and call it in our same application.

Sample Hello world API

Step 3: Build and run the Project

We can check the output by starting our spring boot application.

Starting application

Now open postman and send GET request for URL as specified: http://localhost:8080/hello

Our Sample “hello” API service is working on localhost: 8080. Now we will see how to call this service using the Rest template.

Step 4: Make a call to external API services and test it

Here do make sure before making calls to external API, first, we will see what is Rest template is which is described below:

The Rest Template is the central Spring class used to create applications that consume RESTful Web Services. You can use the methods available in the Rest Template class to consume the web services for all HTTP methods.

  • Here we have given GetMapping as “callclienthello” so that external call will be available on that extension. 
  • Next, Define your client URI on which your Service is accessible. 
  • Create Rest Template object, then Using getForObject method you can call the defined service. 
  • Now our “hello” service will also be available on extension  “callclienthello”. 
  • Let’s test it and the output is generated as follows:

As you can see we are getting the same output that we were getting for our sample “hello” API call. Now Let’s see another example in which we will call external API which is available over the internet. For example “https://restcountries.eu/rest/v2/all”.If we now send requests for a given Countries API , then it will return list of countries then we will test it from Postman as depicted in below media

Now, we will call this countries API from our spring boot application.

Here I have given Get Mapping as “countries” so that We can make an external call using that extension. We have defined an external API with which we want to make calls in URL. Let’s see the output in postman by sending a request:

As you can see here, Countries API i.e “https://restcountries.eu/rest/v2/all”, Now available on extension “countries”. In this way, you can make calls to external API services using Spring Rest Template class.


Last Updated : 16 Sep, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads