CODEFICTION
  • Home
  • Blog
  • Contact
June 10, 2020 by Gibran Antonio Pulga and Gabriel Antonio Pulga

A Beginners Guide to Testing a Web API/Service with Postman

A Beginners Guide to Testing a Web API/Service with Postman
June 10, 2020 by Gibran Antonio Pulga and Gabriel Antonio Pulga

Overview

API stands for Application Programming Interface and it is defined by a set of rules that contains different methods of communication between software components to interact with each other. We created an API from scratch in this post, and we’ll now test its execution with Postman.

To thoroughly test an API, we need to access its endpoints and one of the better ways of doing that is by using a web client such as Postman, a standalone tool that’s able to make HTTP requests from outside the service.

When using Postman, there’s no need to write any HTTP code, we can interact with our API through test suites called collections and make simple execution commands.

In this tutorial, we’ll cover the following topics :

  • Installing Postman
  • Setting up the environment to test our API
  • Creating a series of semi-automated HTTP requests tests called collections
  • Running single HTTP requests

You’ll need :

  • An Web API/Service to test, you can see how to develop one with Spring Boot by clicking here
  • Postman client

Getting started

First thing we need to do is install Postman in our Linux, Mac or Windows computer.

If you’re using Linux, this can be done easily by enabling snapd with the following commands in your shell :

sudo apt update
sudo apt install snapd
sudo snap install postman

You can also download Postman directly from its website.

The following user interface is what you should expect to see when opening Postman for the first time :

Postman initial user interface

Creating a Postman Collection with HTTP requests

We can think of a collection as a series of requests that will be saved and executed by Postman.

Creating a new collection for our API should be simple, we can do that by clicking the Create a collection button in the left corner.

Creating a New Collection

Once our collection is created, the next step should be adding our personalized requests.

The API we developed supports the following endpoints, so we should create a HTTP request for each of them :

  • Create : Create a new user with the POST method in /users
  • Detail : List a specific user with the GET method in /users/{id}
  • List : List all users with the GET method in /users
  • Update : Update an existing user with the PUT method in /users/{id}
  • Delete : Remove an existing user with the DELETE method in /users/{id}

Be sure to enter our request method URL for each endpoint and use the dropdown menu to change the standard GET method to the method of choice.

Delete endpoint with its appropriate URL and request method

Providing a message body for the POST and PUT methods

When creating or updating an user, we need to provide a message body specifying the fields we want to create or change.

Since our API deals with JSON data, we need to provide it with JSON content type.

Below the URL address, there’s a row of tab headers. To specify our message body, we’ll click the Body tab to get to the body editor.

In the Body tab, there’s a row of buttons that control the formatting and content type of the request, select the raw option and in the dropdown menu to the right, apply the JSON content type.

Once all our options are set, we should add our JSON content to the message body :

{
"name": "Fourth"
}
Create endpoint with the POST method

We can assert that the POST request was successful by checking the HTTP response status : 201 Created.

As for our PUT method, we’ll follow the same exact steps and add to the message body of our user with id 1 :

{
"id" : 1,
"name": "Neo UPDATED"
}
Update endpoint with the PUT method

Running single requests with the GET or DELETE method

When running single GET or DELETE requests, we don’t need to specify a message body.

All we need to do is click the Send button to the right of the URL address.

List all users endpoint with the GET method
Delete user endpoint with the DELETE method

Once again, by checking our HTTP response status, we can assert that our request was successful.

Endnotes

By completing this tutorial, you can now verify the execution of all sorts of endpoints with the Postman client.

This comes in handy when working with an API/Web service.

Source code

There isn’t any source code available for this tutorial, but you can check the source code of our API here.

Thanks for reading !! Feel free to leave any comment.

About the author

Gibran Antonio Pulga
Website | + Posts

Software Consultant with more than 11 years experience, most of that in Finance area. I love building things and see them running and making a difference.

Specialised in Golang (2 years), Java (11 years), Javascript, React and Angular (1 year), PHP (2 years), project management and delivery leading (2 years), mentoring and coaching (1 year).

  • Gibran Antonio Pulga
    http://codefiction.net/author/admin/
    Code fiction
  • Gibran Antonio Pulga
    http://codefiction.net/author/admin/
    About
  • Gibran Antonio Pulga
    http://codefiction.net/author/admin/
    Building a CRUD RESTful API/Web Service with Spring Boot
  • Gibran Antonio Pulga
    http://codefiction.net/author/admin/
    Documenting a Spring Boot CRUD RESTful API/Web Service with Swagger
Gabriel Antonio Pulga
Website | + Posts

Engineering student and software enthusiast from Brazil. My hobbies include trekking and playing guitar.

  • Gabriel Antonio Pulga
    http://codefiction.net/author/gabrielpulga/
    Home
  • Gabriel Antonio Pulga
    http://codefiction.net/author/gabrielpulga/
    Blog
  • Gabriel Antonio Pulga
    http://codefiction.net/author/gabrielpulga/
    Portfolio
  • Gabriel Antonio Pulga
    http://codefiction.net/author/gabrielpulga/
    About
Previous articleBuilding a CRUD RESTful API/Web Service with Spring BootNext article Documenting a Spring Boot CRUD RESTful API/Web Service with Swagger

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

About The Blog

Our blog aims to help developers solve problems and build modern solutions that they can implement in their projects.

Recent Posts

Building a Real Time Chat Application with Spring Boot and WebsocketFebruary 9, 2021
Integrating Keycloak’s Access Management Solution with a Spring Boot ApplicationAugust 7, 2020
Designing APIs in RAML with Mulesoft’s Anypoint PlatformAugust 5, 2020

Categories

  • API
  • API-testing
  • Java
  • Postman
  • Spring
  • Testing

Tags

anypoint platform api authentication java keycloak postman spring users-api-project web service websockets

Contact

734 Blackwell Street
Barcelona, Spain
[email protected]
Mon. - Fri. 8AM - 6PM

Recent Posts

Building a Real Time Chat Application with Spring Boot and WebsocketFebruary 9, 2021
Integrating Keycloak’s Access Management Solution with a Spring Boot ApplicationAugust 7, 2020
Designing APIs in RAML with Mulesoft’s Anypoint PlatformAugust 5, 2020

Popular Posts

Building a Real Time Chat Application with Spring Boot and Websocket0 comments
A Beginners Guide to Testing a Web API/Service with Postman0 comments
Documenting a Spring Boot CRUD RESTful API/Web Service with Swagger0 comments
All rights reserved to codefiction.net.