feat(http-client): Generate requests from Spring Web mappings (#104)

Spring MVC/WebFlux mapping methods (Java and Kotlin) in @RestController / @Controller classes get a gutter icon with "Generate Request in HTTP Client", and the class line gets "Generate Requests for Controller"; both are also actions (`http.generateSpringRequest`, `http.generateSpringControllerRequests`) in Find Action, the editor menu and ⌥↵. Requests are appended to the `generated-requests.http` scratch and opened at the new request.

The URL combines class and method paths ({id} and {id:regex} → {{id}}), with host, port and context path from application.properties / .yml (default http://localhost:8080). @RequestParam, @RequestHeader, params/headers, consumes/produces and @RequestBody (JSON skeleton from the body type, nested one level) are mapped; same-file constants are resolved. Adds an `intentionProviders` editor facet so features can contribute ⌥↵ items.

Fixes #100

Claude-Session: https://claude.ai/code/session_01VUYsdXA2nkF5v6zsC93dpn
Цей коміт міститься в:
l0ng-ai authored and GitHub committed 2026-10-27 20:54:48 +08:00
1 джерело a065189516
коміт 14f72fc307
9 files changed
+1824 -7

No files matched your search

+5
Переглянути файл
@@ -194,6 +194,7 @@
"Cannot convert encoding": "无法转换编码",
"Cannot create scratch file": "无法创建临时文件",
"Cannot create the HTTP request file": "无法创建 HTTP 请求文件",
"Cannot generate the HTTP request": "无法生成 HTTP 请求",
"Cannot duplicate the data source": "无法复制数据源",
"Cannot execute": "无法执行",
"Cannot execute on {target}": "无法在 {target} 上执行",
@@ -790,6 +791,8 @@
"Generate": "生成",
"Generate DDL to Clipboard": "生成 DDL 到剪贴板",
"Generate DDL to Query Console": "生成 DDL 到查询控制台",
"Generate Request in HTTP Client": "在 HTTP 客户端中生成请求",
"Generate Requests for Controller": "为控制器生成请求",
"Generate…": "生成…",
"Get from Version Control": "从版本控制获取",
"Get from Version Control…": "从版本控制获取…",
@@ -1167,6 +1170,8 @@
"No GitHub repository": "没有 GitHub 仓库",
"No Gradle projects": "没有 Gradle 项目",
"No HTTP request at the caret": "光标处没有 HTTP 请求",
"No Spring controller at the caret": "光标处没有 Spring 控制器",
"No Spring request mapping at the caret": "光标处没有 Spring 请求映射",
"No Maven projects": "没有 Maven 项目",
"No profile for '{name}'": "没有 '{name}' 的分析数据",
"No Python found": "未找到 Python",