Note: This is the v3.0 rewrite of EasyApi. For the source code of stable v2.x releases, see the
stable/v2.x.xbranch.
An IntelliJ IDEA plugin for API development — export API documentation, send requests, and manage endpoints directly from your code.
Export API endpoints from your source code to multiple formats:
| Format | HTTP | gRPC | Output |
|---|---|---|---|
| Markdown | ✓ | ✓ | .md documentation file |
| Postman | ✓ | — | JSON file or direct upload to Postman |
| cURL | ✓ | ✓ | Executable shell script |
| HTTP Client | ✓ | ✓ | IntelliJ HTTP Client scratch file |
A built-in tool window that provides a tree view of all API endpoints in your project:
- Browse endpoints organized by module and class
- Search and filter endpoints by path, name, or HTTP method
- View endpoint details (parameters, headers, body, response)
- Send HTTP requests directly from the dashboard
- Navigate to source code with a single click
- Edit request parameters with auto-persistence
Call any API endpoint directly from the editor:
- Right-click a controller method → Call (or press
Ctrl+Con macOS /Alt+Shift+C) - The API Dashboard opens and navigates to the selected endpoint
- Edit parameters, headers, and body before sending
- View response with syntax highlighting
Find API endpoints from anywhere in the IDE using IntelliJ's Search Everywhere (Double Shift):
- Search by HTTP method prefix (e.g.,
GET /users) - Search by path, endpoint name, class name, or description
- Click a result to navigate directly to the source method
API methods are marked with a gutter icon in the editor. Click it to open the endpoint in the API Dashboard.
Convert class fields to various formats:
- To JSON — Standard JSON with default values
- To JSON5 — JSON5 format with comments support
- To Properties — Java
.propertiesformat
| Category | Supported |
|---|---|
| Languages | Java, Kotlin, Scala (optional) |
| Web Frameworks | Spring MVC, Spring Cloud OpenFeign, JAX-RS (Quarkus / Jersey) |
| RPC | gRPC |
| Validation | javax.validation / Jakarta Validation |
| Serialization | Jackson, Gson |
| API Docs | Swagger / OpenAPI annotations |
| Spring Actuator | Actuator endpoints |
Full support for Spring MVC annotations:
@RequestMapping,@GetMapping,@PostMapping,@PutMapping,@DeleteMapping,@PatchMapping@RequestParam,@PathVariable,@RequestBody,@RequestHeader,@CookieValue@RestController,@Controller- Class-level and method-level mapping composition
- Generic type resolution for parameterized controllers
- Custom meta-annotation support
Support for Feign client interfaces:
@FeignClientinterface detection- Spring MVC annotations on interface methods
- Native Feign annotations:
@RequestLine,@Headers,@Body,@Param
Full support for JAX-RS annotations:
@Path,@GET,@POST,@PUT,@DELETE,@PATCH,@HEAD,@OPTIONS@PathParam,@QueryParam,@FormParam,@HeaderParam,@CookieParam,@MatrixParam@Consumes,@Produces
Support for gRPC service implementations:
- Service path extraction (
/<package>.<ServiceName>/<MethodName>) - Streaming type detection (unary, server-streaming, client-streaming, bidirectional)
- Request/response protobuf message type resolution
- Server reflection support
- Stub class resolution
- Right-click on a controller file, class, or method in the editor or project view
- Select EasyApi → Export (or press
Ctrl+Eon macOS /Alt+Shift+E) - Choose the target format (Postman / Markdown / cURL / HTTP Client)
- The APIs will be exported automatically
- Right-click on a controller method
- Select EasyApi → Call (or press
Ctrl+Con macOS /Alt+Shift+C) - The API Dashboard opens with the endpoint loaded
- Edit parameters and send the request
- Go to Tools → Open API Dashboard
- Or click the API Dashboard tab at the bottom of the IDE
- Press
Double Shiftto open Search Everywhere - Switch to the APIs tab
- Type an HTTP method prefix (e.g.,
GET /users) or any keyword
- Right-click on a class in the editor
- Select EasyApi → ToJson / ToJson5 / ToProperties
- JDK 17 or higher
- IntelliJ IDEA 2025.2 or higher
# Run an IDEA instance with the plugin installed
./gradlew runIde
# Run all tests
./gradlew clean test| JDK | IDE | Status |
|---|---|---|
| 17 | 2025.2.1 | ✓ |
The plugin follows a layered architecture:
graph TB
IDE["IDE Integration Layer<br/>(Actions, Dashboard, Line Markers, Search)"]
Export["Export Layer<br/>(ExportOrchestrator → ClassExporter → ApiExporter)"]
Core["Core Services<br/>(RuleEngine, ConfigReader, ApiIndex, HttpClient)"]
PSI["PSI Analysis<br/>(TypeResolver, DocHelper, AnnotationHelper)"]
IDE --> Export
Export --> Core
Core --> PSI
- ClassExporter — Extracts
ApiEndpointmodels from PSI classes (Spring MVC, JAX-RS, Feign, gRPC) - ApiExporter — Converts
ApiEndpointmodels to output formats (Markdown, Postman, cURL, HTTP Client) - ExportOrchestrator — Coordinates the full export pipeline from scanning to output
- ApiIndex — Caches discovered endpoints for fast search and dashboard access
- RuleEngine — Evaluates rule expressions to customize parsing behavior
You can propose a feature request by opening an issue or a pull request.
Here is a list of contributors: