技術共有

既存の SpringBoot バックエンド プロジェクトを Yudao フレームワーク (yudao-cloud) にアップグレードするためのガイド

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

既存の SpringBoot バックエンド プロジェクトを Yudao フレームワーク (yudao-cloud) にアップグレードするためのガイド



  1. taro フレームワークを開始する
  2. 新しいサービスの作成を学習します (新しいサービスの作成を学習した後、古いビジネスを移行できます)
    • チュートリアル:新しいサービスを作成する

      チュートリアルではいくつかの問題が発生しましたが、その原因が判明したものもあれば、まだ判明していないものもあります。理解する必要があるだけで、全体の構造を理解するのに役立ちます。プロジェクトの。

      • パッケージごとにルーティングリクエストは異なります

        これにはリクエストのルーティングと転送が含まれます。実装方法については、こちらを参照してください。 ビデオリンク

      • デモ サービスを開始した後、knife4j を使用して swagger ドキュメントを開くことができず、エラーが報告されます (解決されていませんが影響を受けません)。

        フロントエンドエラー

        バックエンドエラー

      • チュートリアルのテスト インターフェイスのテストでエラーが発生しました

        認可とテナントをシミュレートしても、事前に提供された yml ファイルに基づいてリクエストを完了できないため、ここでエラーが返されます。

        {
            "code": 401,
            "data": null,
            "msg": "账号未登录"
        }
        
        • 1
        • 2
        • 3
        • 4
        • 5
      • ゲートウェイ構成ファイルを変更し、デモ ルートを追加した後、ドキュメントには、管理インターフェイスとアプリのテスト インターフェイスを通常どおりテストできると記載されていますが、注意してください。これは機能しません。

        テナントが閉じられておらず、承認フィールドが追加されていないため、返された結果はまだ有効ではありません。

    • yudao-cloudのyml設定ファイルを変更する
      • ルーティングと転送

        ゲートウェイの application.yaml を変更します (これは、新しいサービスを作成するためのチュートリアルに含まれています)

        に追加ルーティングと転送のルールリクエストが正しく転送されるようにするため

        に追加Knife4j のルーティングと転送のルール, これで、Swagger ドキュメントを正常に表示できるようになります ([knive4j 公式チュートリアル]

      • テナントを閉じるSaaS マルチテナント [フィールド分離]

        システム内のbizのapplication.yamlを変更します。

        テナントをシャットダウンします (古いプロジェクトにテナントが含まれていない場合、私の現時点での理解では、各マイクロサービスがテナントをシャットダウンするにはこの場所を変更する必要があると考えています。そうしないと、「要求されたテナント ID が渡されませんでした。トラブルシューティングを行ってください」という間違いが報告されます) !)

        まず、テナント機能をオフにしますが、それだけでは不十分です。すべての URL を無視するには、URL を無視するルールを追加する必要もあります。 ! !

        フロントエンド (.env 内) で変更する必要がある別のフィールドがあります。そのフィールド名はドキュメント内のフィールド名と異なるため、ドキュメント内のグローバル検索を使用して見つけることができません。

      • トークン認証

        チェック機能の権限システム内のビジネスの application-local.yaml を文書化し、変更する

        理論的には、トークン シミュレーション メカニズムを有効にして、トークン シミュレーション メカニズムのトークン プレフィックスを設定できますが、実際の運用後には役に立ちません。チュートリアルを尊重して変更してください。

    • ビジネスに必要なjarパッケージをプロジェクトに追加する
      • jar パッケージを追加する場合、Yudao のオリジナルの Maven アーキテクチャ (特に knive4j) と依存関係の競合が発生しやすいため、依存関係を除外する必要があることに注意してください。

        <dependency>
            <groupId>xx.xx.xx</groupId>
            <artifactId>xx-xx-spring-boot-starter</artifactId>
            <version>1.0.19</version>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-autoconfigure</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>mysql</groupId>
                    <artifactId>mysql-connector-java</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.github.xiaoymin</groupId>
                    <artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8
        • 9
        • 10
        • 11
        • 12
        • 13
        • 14
        • 15
        • 16
        • 17
        • 18
        • 19
        • 20
        • 21
        • 22
        • 23
    • 新しく作成したサービスが応答できるかどうかをテストする
      • ログインして認証用のトークンを取得する

      • アプリテストをテストする

      • テスト管理者テスト

        リクエストヘッダーの認可認証に注意してください。

        Authorization:Bearer f4fb08efe73a4a98bb248da70f4cc514
        
        • 1