Skip to content

How To Use Curl Postman

API Testing Blog

Getting Started with cURL & Postman for API Testing

Why Use cURL and Postman?

cURL and Postman are powerful tools for API testing. They provide a way to interact directly with APIs, making it easy to send requests, analyze responses, and identify issues.

  • cURL: A command-line tool that allows you to send HTTP requests from your terminal. It’s a versatile tool ideal for scripting and automation.
  • Postman: A user-friendly application that provides a graphical interface for interacting with APIs. It offers powerful features for testing, documentation, and collaboration.

Using cURL for API Testing

Making a Simple GET Request with cURL

Let’s start with a simple GET request to fetch data from a public API. We’ll use the OpenWeatherMap API to get the current weather for London.

1. Open your terminal or command prompt.

2. Run the following cURL command:

Terminal window
curl "http://api.openweathermap.org/data/2.5/weather?q=London&appid=YOUR_API_KEY"

Replace YOUR_API_KEY with your actual API key from OpenWeatherMap.

3. Analyze the response:

The command will return JSON data containing the current weather in London.

Understanding cURL Syntax

  • curl: The command to execute the cURL operation.
  • http://api.openweathermap.org/data/2.5/weather?q=London&appid=YOUR_API_KEY: The URL of the API endpoint, including any necessary parameters like query (q) and API key (appid).

Sending a POST Request with cURL

To send data to an API, we use a POST request. Let’s send a request to a simple web service to create a new user:

Terminal window
curl -X POST \
-H "Content-Type: application/json" \
-d '{"name": "John Doe", "email": "john.doe@example.com"}' \
http://example.com/users
  • -X POST: Specifies the request method as POST.
  • -H "Content-Type: application/json": Sets the Content-Type header to indicate we’re sending JSON data.
  • -d '{"name": "John Doe", "email": "john.doe@example.com"}': Provides the data to be sent in JSON format.
  • http://example.com/users: The URL of the endpoint to create a new user.

Using Postman for API Testing

Creating a GET Request in Postman

Postman provides a user-friendly interface for sending API requests.

1. Open Postman and create a new request.

2. Select the HTTP method “GET”.

3. Enter the API endpoint URL in the request URL field. For example, http://api.openweathermap.org/data/2.5/weather?q=London&appid=YOUR_API_KEY

4. Click “Send”.

5. View the response in the “Body” tab. The response will be displayed in JSON format.

Sending a POST Request in Postman

1. Create a new request in Postman and select the “POST” method.

2. Enter the API endpoint URL in the request URL field.

3. In the Body tab, select “raw” and choose “JSON” as the format.

4. Paste the JSON data you want to send in the body. For example, {"name": "John Doe", "email": "john.doe@example.com"}

5. Click “Send”.

6. View the response in the “Body” tab.”

Advanced cURL and Postman Techniques

Handling Authentication in cURL

For APIs that require authentication, cURL provides options like basic auth or OAuth.

Terminal window
# Basic authentication
curl -u "username:password" http://example.com/api
Terminal window
# OAuth authentication
curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN" http://example.com/api

Using Environment Variables in Postman

Postman allows you to store sensitive information like API keys in environment variables. This ensures that your test data is safe and easily managed.

1. Create an environment in Postman.

2. Add an environment variable for your API key:

  • Key: API_KEY
  • Value: Your actual API key

3. In your requests, replace the variable YOUR_API_KEY with {{API_KEY}}. Postman will automatically substitute the environment variable value during the request.

Creating and Managing Collections in Postman

Postman collections allow you to group related requests and automate the testing process. You can easily add requests, manage their order, and even add documentation for each request.

1. Create a new collection in Postman.

2. Add requests to the collection.

3. Run the collection in sequence.

4. Share and collaborate on collections with your team.

Conclusion

cURL and Postman are powerful tools for API testing. While cURL provides a command-line interface, Postman offers a graphical interface, making it easier for beginners to get started. Both tools are highly versatile and can be used to test various aspects of an API. Remember to choose the tool that best aligns with your needs and skills. Whether you’re a seasoned developer or a new tester, mastering both cURL and Postman will level up your API testing game.

API Testing Blog