Skip to content

Latest commit

 

History

History
164 lines (118 loc) · 6.35 KB

File metadata and controls

164 lines (118 loc) · 6.35 KB

03: 从 Python 迁移到 Java

场景

Contoso 是一家销售各种户外活动产品的公司。Contoso 的市场部门希望启动一个微型社交媒体网站,为现有客户和潜在客户推广他们的产品。

由于 Python 开发人员离开了公司,利益相关者要求将现有的 Python 后端 API 应用迁移到 Java,使用 Spring Boot。

现在,作为 Java 开发人员,您应该将现有的 FastAPI 应用迁移到 Spring Boot。顺便说一下,您对 Python 和 FastAPI 了解很少。

先决条件

请参考 README 文档进行准备。

入门指南

检查 GitHub Copilot 代理模式

  1. 点击 GitHub Codespace 或 VS Code 顶部的 GitHub Copilot 图标,打开 GitHub Copilot 窗口。

    打开 GitHub Copilot Chat

  2. 如果要求您登录或注册,请执行操作。这是免费的。

  3. 确保您使用的是 GitHub Copilot 代理模式。

    GitHub Copilot 代理模式

  4. 选择模型为 GPT-4.1Claude Sonnet 4

  5. 确保您已配置了 MCP 服务器

准备自定义指令

  1. 设置 $REPOSITORY_ROOT 环境变量。

    # bash/zsh
    REPOSITORY_ROOT=$(git rev-parse --show-toplevel)
    # PowerShell
    $REPOSITORY_ROOT = git rev-parse --show-toplevel
  2. 复制自定义指令。

    # bash/zsh
    cp -r $REPOSITORY_ROOT/docs/custom-instructions/java/. \
          $REPOSITORY_ROOT/.github/
    # PowerShell
    Copy-Item -Path $REPOSITORY_ROOT/docs/custom-instructions/java/* `
              -Destination $REPOSITORY_ROOT/.github/ -Recurse -Force

准备 Spring Boot 项目

  1. 确保您使用的是带有 Claude Sonnet 4GPT-4.1 模型的 GitHub Copilot 代理模式。

  2. 确保 context7 MCP 服务器正在运行。

  3. 安装 Spring Boot CLI。

    sdk install springboot
  4. 使用如下提示构建 Spring Boot 应用项目。

    我想构建一个 Spring Boot 应用。请按照以下说明操作。
    
    - 使用 context7。
    - 您的工作目录是 `java`。
    - 首先确定您要执行的所有步骤。
    - 使用 Spring Boot CLI 创建 Spring Boot 应用项目。
    - 使用 Gradle 作为 Java 包管理器。
    - 使用包名 `com.contoso.socialapp`。
    - 使用构件 ID `socialapp`。
    - 使用组 ID `com.contoso`。
    - 使用包类型 `jar`。
    - 使用 OpenJDK 版本 `21`。
    - 添加依赖项 - `Spring Web`、`Spring Boot Actuator` 和 `Lombok`。
    - 使用端口号 `8080`。
    - 确保允许来自任何地方的 CORS。
    - 构建 Spring Boot 应用并验证应用是否正确构建。
    - 运行此 Spring Boot 应用并验证应用是否正常运行。
    - 如果构建或运行应用失败,分析问题并修复它们。
    
  5. 点击 GitHub Copilot 的 保留按钮图片 按钮接受更改。

迁移 FastAPI API 应用

  1. 确保您使用的是带有 Claude Sonnet 4GPT-4.1 模型的 GitHub Copilot 代理模式。

  2. 确保 context7 MCP 服务器正在运行。

  3. product-requirements.mdopenapi.yaml 添加到 GitHub Copilot。

  4. 使用如下提示将 FastAPI 迁移到 Spring Boot。

    现在,我们正在将现有的基于 FastAPI 的 API 应用迁移到 Spring Boot API 应用。请按照以下迁移说明操作。
    
    - 使用 context7。
    - 现有的 FastAPI 应用程序位于 `python`。
    - 您的工作目录是 `java/socialapp`。
    - 首先确定您要执行的所有步骤。
    - 分析现有 FastAPI 应用的应用程序结构。
    - 迁移所有端点。对应的端点应完全相同。
    - 使用 SQLite 作为数据库。
    - 使用 `sns_api.db` 作为 SQLite 数据库的名称。
    - 每当启动应用时,数据库应始终被初始化。
    - 使用描述所有端点和数据架构的 `openapi.yaml`。
    - API 应用程序应通过默认端点呈现 Swagger UI 页面。
    - API 应用程序应通过默认端点呈现完全相同的 OpenAPI 文档。
    - 不要添加 `openapi.yaml` 中未定义的任何内容。
    - 不要修改 `openapi.yaml` 中定义的任何内容。
    - 如果需要,为 OpenAPI 和 Swagger UI 添加更多包。
    
  5. 点击 GitHub Copilot 的 保留按钮图片 按钮接受更改。

  6. 迁移完成后,使用如下提示验证迁移结果。

    我想构建 Spring Boot 应用。请按照说明操作。
    
    - 使用 context7。
    - 构建 Spring Boot 应用并验证应用是否正确构建。
    - 如果构建应用失败,分析问题并修复它们。
    

    注意

    • 直到构建成功,重复此步骤。
    • 如果构建持续失败,检查错误消息并询问 GitHub Copilot 代理来解决它们。
  7. 点击 GitHub Copilot 的 保留按钮图片 按钮接受更改。

验证 Spring Boot 后端应用

  1. 应用程序构建完成后,验证是否正确编写。

    运行 Spring Boot 应用并通过检查所有端点验证应用是否正常运行。还要验证 OpenAPI 端点呈现与 `openapi.yaml` 完全相同的内容。
    
    如果应用运行失败,请分析问题并修复它们。使用 context7。
    
  2. 打开 Web 浏览器并导航到 http://localhost:8080

  3. 点击 GitHub Copilot 的 保留按钮图片 按钮接受更改。


好的。您已经完成了"Java"步骤。让我们继续 步骤 04:从 JavaScript 迁移到 .NET


免责声明: 本文档由 GitHub Copilot 本地化。因此,可能包含错误。如果您发现任何不当或错误的翻译,请创建一个 issue