fitten code 可基于 openapi v3 规范自动生成类型安全的微服务调用代码;需先导出 user-api.yaml,再通过桌面端解析并选择生成 feign client 或 webclient 封装类,最后注入调用。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

在微服务架构中,手动编写跨服务调用的 HTTP 客户端、DTO 映射、重试逻辑和熔断配置极易出错,且重复劳动多;Fitten Code 能基于 OpenAPI 规范自动生成类型安全、带注释、可直接集成的调用代码,省去手写 FeignClient、RestTemplate 封装或 WebClient 配置的繁琐过程。
准备服务接口定义
打开目标微服务的 Swagger UI 页面(如 http://user-service:8080/swagger-ui.html),点击右上角「Export」→「Download OpenAPI Spec」,保存为 user-api.yaml。这一步必须做,【Fitten Code 仅支持从标准 OpenAPI v3 文件生成代码,不识别 Spring 控制器源码或 Postman Collection】。
若服务未暴露 Swagger,需先在对应 Spring Boot 项目中引入 springdoc-openapi-starter-webmvc-ui 依赖并确保 @OpenAPIDefinition 注解生效,否则生成的客户端将缺失路径参数或请求体结构。
在 Fitten Code 中导入并解析 API
启动 Fitten Code 桌面客户端 → 点击左侧「+ New Project」→ 选择「From OpenAPI」→ 浏览并选中 user-api.yaml → 点击「Parse」。
解析成功后,界面左侧会列出所有 tag 分组的接口,右侧显示每个接口的请求方法、路径、参数类型与响应结构。此时可双击任意接口查看完整请求示例和字段说明——这是后续生成代码时字段命名和类型推断的唯一依据。
生成 Java 调用代码(Spring Boot 场景)
方法一:生成 Feign Client
在接口列表中勾选需要调用的 /users/{id} GET 接口 → 右键 → 「Generate → Feign Client」→ 设置包名 com.example.client.user → 勾选「Generate fallback class」→ 点击「Generate」。
生成的 UserClient.java 自动包含 @FeignClient(name = "user-service", fallback = UserClientFallback.class) 注解,并将 path 参数 id 正确映射为 @PathVariable Long id;fallback 类已预置空实现和日志打印,避免降级时抛出 NullPointerException。
方法二:生成 WebClient 封装类
勾选同一接口 → 右键 → 「Generate → WebClient Wrapper」→ 输入 Base URL:http://user-service → 选择响应类型为 Mono
生成的 UserWebClient.java 内置 retryWhen(Retry.backoff(3, Duration.ofSeconds(1))) 和 timeout(Duration.ofSeconds(5)),无需额外配置即可应对网络抖动;【注意:若服务注册在 Nacos 或 Eureka,此处 Base URL 应留空,改用 load-balanced WebClient Bean】。
注入并调用生成的客户端
第一步:将生成的 client 包复制到当前 Spring Boot 项目 src/main/java 目录下。
第二步:在启动类上添加 @EnableFeignClients(basePackages = "com.example.client")(仅 Feign 方式需此注解)。
第三步:在业务 Service 中声明 @Autowired private UserClient userClient;然后直接调用 userClient.findById(123L).block() 即可获取用户对象——字段自动反序列化,404 会抛出 FeignException,500 默认触发 fallback。
这一步操作起来很简单,但务必确认 application.yml 中已配置 feign.client.config.default.connectTimeout=3000 和 readTimeout=5000,否则默认超时时间过短容易引发频繁失败。











