Learn API with Hoppscotch and JSON-Server
Tags: api, programming, productivity, tooling
Published: 2021-06-21 10:59:55

Let me start by asking you an interesting question. What's the most valued thing in the world today? I think it is information or data. When it comes to software applications, services, data plays a significant role. 

The end-users interact with an application using information and expects data from it when they perform any operations. In addition, multiple services communicate with each other by exchanging information.

In software engineering and architecture, applications use `APIs` to communicate, access data, and send information. The APIs can adhere to the standards like `REST API` or any real-time APIs like `Websocket`, `SSE(Server-Sent Events)`, `Socket.IO`, `MQTT(Message Queuing Telemetry Transport)`. We also need better tooling to develop and test APIs to make sure it works as expected.

# What is an API?
API is an acronym for Application Programming Interface. The expansion of the term API may sound a bit complex initially. You may wonder what precisely the Application Programming Interface means? In layman's terms, API is a service that allows two or more applications to talk to each other even when they don't speak the same language. An API is an abstraction that allows a way to exchange data between applications written in any language.

![API.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1624271237418/6CZSKzFnL.png)

As API abstracts the data underneath(stored in a database, file-system), we can design it to send only the information required by the client. The image below shows an example of the web API where multiple web clients use API services to interact with the data stored in different storage types. The best part is, the client doesn't have to know where the data resides as long as it maintains the rules to use the APIs.

![API-Layers.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1624271270942/ihidiXuNk.png)

We have been talking about the API for a while now. Let's take some examples to relate to it better. Some most used APIs are,

- Social login API from Google, Facebook, Twitter, and many more.
- API to know about the Weather.
- NASA's API to get information about space. 
- Payment APIs from Paypal, Stripe, and many more.
- Very recently beta released API from Notion
- Many, many more.

# Meet Hoppscotch
`Hoppscotch` is a free, fast, and beautiful API request builder to test your APIs from the browser without switching between multiple apps. 

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1624271528794/2NgppaQO7.png)

With Hoppscotch,

- You can build various REST API requests and test them.
- You can run scripts before sending an API request, set environment variables, and test a response to verify a return value.
- Perform testing of real-time APIs like WebSocket, SSE, socket.io, and MQTT.
- Connect and Test GraphQL endpoints.
- Manage the history of requests. Mark your favorites.
- Segregate your requests logically into collections.
- Many more customizations.

To start using Hoppscotch with its full potential, browse to [https://hoppscotch.io/](https://hoppscotch.io/) and log in using Google or GitHub social logins.

How about building a REST API service that helps us Create, Read, Update, and Delete student information? Then we can test the APIs with several parameters and conditions using the `Hoppscotch` tool.

Please follow this step-by-step article on `Aviyel` to Learn API building, testing using Hoppscotch and json-server,

[https://aviyel.com/post/152/learn-api-with-hoppscotch-and-json-server](https://aviyel.com/post/152/learn-api-with-hoppscotch-and-json-server)