This comprehensive guide on EchoAPI is divided into the following sections: Overview of EchoAPI, Introduction to Basic Features, Building API Requests, Debugging and Testing, Team Collaboration and API Management, Environment Variables, and Automated Testing.
EchoAPI is a powerful tool designed for modern developers, aimed at simplifying and accelerating the API development and testing process. Similar to Postman, it enhances team collaboration and documentation management, offering complete offline functionality. EchoAPI supports API design, API debug, performance testing, automated testing, mock services, and bulk API documentation generation, making it easier to manage interface debugging and testing tasks.
In addition to these features, EchoAPI includes numerous lightweight plugins that integrate seamlessly with various development environments, further streamlining your workflow.

Visit the EchoAPI official website to download and install the version suitable for your operating system.
The EchoAPI UI mainly consists of the following areas:

Click the “New Request” button on the left, select the HTTP method you wish to use (GET, POST, PUT, DELETE, etc.), enter the API URL, and fill in the request headers, body, and query parameters as needed. Click the “Send” button to send the request to the specified URL, and view the response results below.
Once the request is successfully sent, you can see the following in the response area:
After completing an API request, you can save it in your project for future use. You can name the request and categorize it into different folders.
To test APIs in different environments (like development, testing, production), you can use environment variables:
{{base_url}}, with values that can differ across the environments.In the API request’s URL, headers, and body, you can directly use variables like:
{{base_url}}/api/v1/user
EchoAPI will automatically replace the variable values with the current environment's values.
EchoAPI provides a Mock service that simulates API responses, useful for frontend-backend development or testing when backend APIs are unfinished. You can find the Mock functionality in your project, create new mock data, define API paths and expected responses, and make requests through the mock URL.
EchoAPI supports automated testing. You can write scripts for assertions after receiving a response. In the Test tab, you can write JavaScript to check the returned results. For example, to check if the status code is 200:
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
EchoAPI allows you to set up scheduled tasks to run API tests automatically at specified intervals. You can integrate CI/CD tools like Jenkins for automated test reporting and workflow management.
EchoAPI provides project collaboration features, allowing you to share API requests with team members. Create a new project in the sidebar and invite team members, making API requests and test cases accessible to everyone.
EchoAPI auto-generates API documentation, detailing request URLs, methods, parameters, and responses based on the requests you create. Click “Export Documentation” to export it in formats like Markdown or HTML for easier sharing and viewing.
EchoAPI offers a traffic recording feature that captures API requests and responses for performance analysis and security auditing. Start the recording feature, and EchoAPI will log all API requests within a specified timeframe, helping you identify potential performance bottlenecks or security issues.
Objective: Send a GET request and validate the JSON response status code.
Sample API: https://jsonplaceholder.typicode.com/posts
Steps:
https://jsonplaceholder.typicode.com/posts
Objective: Send a POST request to create a new resource.
Sample API: https://jsonplaceholder.typicode.com/posts
Steps:
Content-Type: application/json.{
"title": "foo",
"body": "bar",
"userId": 1
}
id field is not empty.
Assuming you have a simple Spring Boot backend running locally on port 8080, here are practical tests:
/api/v1/usersSteps:
http://localhost:8080.http://localhost:8080/api/v1/users.Send a POST request to create a new user and verify the success of the operation.
Assuming we have an interface for creating users at /api/v1/users, this interface accepts a POST request to create a new user and returns the user data upon successful creation.
{
"id": 3,
"name": "foo",
"email": "[email protected]"
}
Create a New Request:
In EchoAPI, click “New HTTP” and select the POST method.
Set the URL:
Enter the URL: http://localhost:8080/api/v1/users.
Set the Request Header:
In Headers, set the request header Content-Type: application/json, as we are going to send JSON data.
Fill in the Request Body:
In Body, choose the raw mode and select JSON format. In the request body, enter the following data to simulate creating a new user:
{
"name": "foo",
"email": "[email protected]"
}
Send the Request:
{
"id": 3,
"name": "foo",
"email": "[email protected]"
}
Write an assertion:
In the Test tab, write a test script to verify whether the id field exists. For example:
pm.test("ID exists in response", function () {
var jsonData = pm.response.json();
pm.expect(jsonData).to.have.property("id");
});
Here’s an example of the API implementations in a Java Spring Boot application:
GET /api/v1/users (Fetch User List):
[@RestController](/RestController)
[@RequestMapping](/RequestMapping)("/api/v1/users")
public class UserController {
private List<User> users = Arrays.asList(
new User(1, "John Doe", "[email protected]"),
new User(2, "Jane Doe", "[email protected]")
);
[@GetMapping](/GetMapping)
public List<User> getAllUsers() {
return users;
}
}
POST /api/v1/users (Create New User):
[@RestController](/RestController)
[@RequestMapping](/RequestMapping)("/api/v1/users")
public class UserController {
private List<User> users = new ArrayList<>(Arrays.asList(
new User(1, "John Doe", "[email protected]"),
new User(2, "Jane Doe", "[email protected]")
));
[@PostMapping](/PostMapping)
public User createUser([@RequestBody](/RequestBody) User user) {
user.setId(users.size() + 1); // Auto-generate ID
users.add(user);
return user;
}
}
User Class Definition:
public class User {
private int id;
private String name;
private String email;
// Constructor, Getters, and Setters omitted for brevity
}
By following this guide, you can proficiently utilize EchoAPI to test and manage your Java backend projects efficiently. Happy testing!
I Built Check Analytic Because Privacy Turned Analytics into a Liability! 🔥
From 0 to 100 Users: How I Built an AI Humanizer as a Student