Backend Development 7 min read

From Postman to IntelliJ IDEA REST Client

This article explains why the built‑in REST Client in IntelliJ IDEA can replace Postman by offering equivalent request features, environment handling, shared scripts, response assertions, and token management, all within a single development environment.

IT Xianyu
IT Xianyu
IT Xianyu
From Postman to IntelliJ IDEA REST Client

The author argues that IntelliJ IDEA's REST Client provides all the functionality of Postman, allowing developers to stay within a single tool for API development and debugging.

IDEA REST Client Console

Access the console via Tools → HTTP Client → Test RESTFUL Web Service . The interface shows request method, parameters, headers, and an Authorization helper button that opens a dialog for username and password.

History of Requests

IDEA automatically saves the last 50 requests in .idea/httpRequests/http-requests-log.http , enabling quick re‑execution and sharing of request scripts among team members.

Creating HTTP Request Scripts

History entries can be copied as .http or .rest files, or new files can be created; IDEA will recognize them as HTTP scripts.

Syntax

### Demonstration of POST request
POST {{baseUrl}}/get?show_env=1
Accept: application/json

{
  "name": "a"
}
### Demonstration of GET request

GET {{baseUrl}}/post
Content-Type: application/x-www-form-urlencoded

id=999&value=content

Requests are separated by three hash symbols, with URL and headers placed directly after the method line.

Environment Separation

Placeholders like {{baseUrl}} are resolved from a JSON file named http-client.private.env.json located beside the script.

{
  "uat": {
    "baseUrl": "http://gateway.xxx.cn/",
    "username": "",
    "password": ""
  },
  "dev": {
    "baseUrl": "http://localhost:8888/",
    "username": "",
    "password": ""
  }
}

When executing a request, IDEA prompts you to select the environment (e.g., dev, uat).

Result Assertions

### Successful test: check response status is 200
GET https://httpbin.org/status/200 > {%client.test("Request executed successfully", function() {  client.assert(response.status === 200, "Response status is not 200");});%}

Scripts can assert response values, turning the client into a testing tool.

Storing Result Values

Tokens from an authentication request can be saved to a global variable and reused in subsequent requests.

### Demonstration POST request
POST https://httpbin.org/post
Content-Type: application/json
{ "user": "admin", "password": "123456" } > {% client.global.set("auth_token", response.body.json.token); %}
### Demonstration GET request
GET https://httpbin.org/headers
Authorization: Bearer {{auth_token}}

Conclusion

While Postman is popular, the IDEA REST Client offers comparable features, environment support, shared scripts, and built‑in assertions, making it a compelling alternative for developers who prefer an all‑in‑one IDE solution.

IntelliJPostmanHTTP testingIDEA REST ClientAPI debugging
IT Xianyu
Written by

IT Xianyu

We share common IT technologies (Java, Web, SQL, etc.) and practical applications of emerging software development techniques. New articles are posted daily. Follow IT Xianyu to stay ahead in tech. The IT Xianyu series is being regularly updated.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.