使用JHipster实现 OpenAI API兼容的SpringBoot示例

💡 原文中文,约2100字,阅读约需5分钟。
📝

内容提要

本文介绍了使用JHipster和llama.cpp实现OpenAI API兼容服务器的示例项目结构生成。建议使用Node进行开发,并生成package.json以获得更好的开发体验。项目根目录中生成了git、prettier、eslint、husky等工具的配置文件。使用openapi-generator-cli进行API优先开发,并使用Swagger-Editor编辑api.yml定义文件。使用Sonar分析代码质量。可以使用Docker简化开发,并提供了docker-compose配置文件。可以配置CI来实现持续集成。

🔎

延伸解读

API 优先开发流程

文章强调使用 openapi-generator-cli 进行 API 优先开发:先在 src/main/resources/swagger/api.yml 中定义接口,再运行 ./mvnw generate-sources 生成代码,最后用 @Service 实现生成的委托类。这种方式将接口契约与实现分离,便于团队协作和后期维护。编辑 api.yml 时,可通过 Docker 启动 Swagger-Editor 本地实例(端口 7742)进行可视化编辑。

本地开发环境与工具链

JHipster 生成的项目根目录包含 git、prettier、eslint、husky 等配置文件,并建议始终生成 package.json 以获得更完整的开发体验。此外,.yo-rc.json 存储 JHipster 配置,.jhipster/*.json 保存实体定义,.yo-resolve 可选文件用于冲突解决。这些工具和配置共同构成了标准化的本地开发环境,有助于保持代码风格一致和提交规范。

Docker 与 CI 的辅助作用

文章将 Docker 和持续集成定位为可选但实用的辅助手段。src/main/docker 下提供了多个 docker-compose 配置,可用于启动第三方服务,也支持将应用及其依赖完全容器化(通过 npm run java:docker 构建镜像)。CI 方面,运行 jhipster ci-cd 子生成器即可为多种持续集成系统生成配置文件,方便后续自动化构建与测试。

❓

Q&A

使用JHipster生成OpenAI API兼容的Spring Boot项目需要什么前提条件?

需要Node环境,开发时建议使用Node。同时建议始终生成package.json,以便获得更好的开发体验,例如使用prettier、提交钩子和脚本等。

JHipster在项目根目录下会生成哪些工具的配置文件?

JHipster会在项目根目录下为git、prettier、eslint、husky等工具生成配置文件。

如何实现API优先开发并编辑api.yml定义文件?

使用openapi-generator-cli进行API优先开发。通过运行./mvnw generate-sources从src/main/resources/swagger/api.yml生成API代码,然后用@Service实现生成的委托类。要编辑api.yml,可以使用Swagger-Editor,通过docker compose -f src/main/docker/swagger-editor.yml up -d启动本地实例,访问http://localhost:7742。

如何使用Sonar分析代码质量?

可以通过docker compose -f src/main/docker/sonar.yml up -d启动本地Sonar服务器(访问http://localhost:9001),然后使用sonar-scanner或maven插件运行分析。例如运行./mvnw -Pprod clean verify sonar:sonar -Dsonar.login=admin -Dsonar.password=admin。如果需要重新运行Sonar阶段,确保至少指定初始化阶段,因为Sonar属性从sonar-project.properties文件加载。

如何使用Docker简化开发?

可以使用Docker来改善JHipster的开发体验。在src/main/docker文件夹中提供了许多docker-compose配置,用于启动所需的第三方服务。也可以将应用程序及其依赖的所有服务完全docker化,首先通过npm run java:docker构建docker镜像。在MacOS Big Sur或更高版本上运行Docker Desktop时,考虑启用实验性使用新的虚拟化框架以获得更好的处理性能。

如何为项目配置持续集成(CI)?

要为项目配置CI,请运行ci-cd子生成器(jhipster ci-cd),这样就能为多个持续集成系统生成配置文件。更多信息请参阅设置持续集成页面。

🏷️

标签

➡️

继续阅读