Files
msh-system/models-integration/docs/NANO_BANANA_INTEGRATION_SUMMARY.md

3.9 KiB
Raw Blame History

Nano Banana API 集成项目总结

项目状态

项目集成完成并成功启动

应用程序已在端口 5081 上成功启动所有API端点均可正常访问。

已完成的功能模块

1. 核心业务组件

  • KieAI2ImageController - REST API控制器提供完整的任务管理接口
  • NanoBananaService - 业务逻辑服务层,实现任务创建、查询、状态管理
  • NanoBananaHelper - HTTP客户端工具类封装与Nano Banana API的通信
  • NanoBananaTask - 任务实体模型使用MyBatis Plus注解
  • NanoBananaTaskMapper - 数据访问层接口

2. 枚举类定义

  • NanoBananaModelType - 模型类型枚举NANO_BANANA, NANO_BANANA_EDIT
  • NanoBananaTaskState - 任务状态枚举PENDING, RUNNING, SUCCESS, FAILED
  • OutputFormat - 输出格式枚举PNG, JPG, WEBP
  • ImageSize - 图片尺寸枚举(多种预设尺寸)

3. 请求响应模型

  • CreateTaskRequest - 创建任务请求模型
  • TaskResponse - 任务响应模型
  • ApiResponse - 统一API响应格式

4. 配置文件

  • application.yml - 添加了Nano Banana API相关配置
  • RestTemplate Bean - 在Application类中配置HTTP客户端
  • MyBatis扫描配置 - 启用Mapper自动扫描

5. 数据库支持

  • SQL脚本 - nano_banana_task表创建脚本
  • MyBatis XML映射 - 完整的CRUD操作映射已备份待数据库表创建后启用

API端点列表

任务管理接口

  • POST /api/nano-banana/text-to-image - 创建文本转图片任务
  • POST /api/nano-banana/image-edit - 创建图片编辑任务
  • GET /api/nano-banana/tasks/{taskId}/status - 查询任务状态
  • GET /api/nano-banana/tasks/{taskId}/wait - 等待任务完成
  • POST /api/nano-banana/callback - 处理回调通知
  • GET /api/nano-banana/tasks/{taskId} - 获取任务详情
  • GET /api/nano-banana/tasks - 获取任务列表
  • POST /api/nano-banana/tasks/{taskId}/retry - 重试任务
  • DELETE /api/nano-banana/tasks/{taskId} - 取消任务

访问地址

待完成事项

数据库初始化

需要手动执行SQL脚本创建数据库表

-- 连接信息
Host: 118.89.113.119:3306
Database: jzjg_jxz
Username: baisui
Password: fFmTJhBEFSnYGYW7

-- 执行脚本
src/main/resources/sql/nano_banana_task.sql

MyBatis XML映射启用

数据库表创建完成后,需要:

  1. NanoBananaTaskMapper.xml.bak 重命名为 NanoBananaTaskMapper.xml
  2. 重启应用程序

配置说明

Nano Banana API配置

nano-banana:
  base-url: https://api.nanobanana.com
  api-token: your-api-token-here
  connect-timeout: 30000
  read-timeout: 60000
  write-timeout: 60000
  retry-max-attempts: 3
  retry-delay: 1000
  poll-interval: 2000
  max-wait-time: 300000
  callback-enabled: true
  default-output-format: PNG
  default-image-size: "1024x1024"

技术栈

  • Spring Boot 2.7.5 - 应用框架
  • MyBatis Plus - ORM框架
  • RestTemplate - HTTP客户端
  • Swagger 3 - API文档
  • MySQL - 数据库
  • Druid - 数据库连接池

项目特点

  1. 完整的任务生命周期管理 - 从创建到完成的全流程跟踪
  2. 异步任务处理 - 支持轮询和回调两种方式
  3. 错误处理和重试机制 - 提供完善的异常处理
  4. RESTful API设计 - 遵循REST规范
  5. 完整的API文档 - 集成Swagger UI
  6. 数据持久化 - 任务状态和结果的完整记录

使用建议

  1. 首先完成数据库表的创建
  2. 配置正确的Nano Banana API Token
  3. 根据实际需求调整超时和重试参数
  4. 监控日志文件以跟踪任务执行状态

项目已准备就绪可以开始使用Nano Banana API进行图片生成和编辑任务