Technologieaustausch

Leitfaden zum Upgrade vorhandener SpringBoot-Backend-Projekte auf das Yudao-Framework (yudao-cloud)

2024-07-12

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

Leitfaden zum Upgrade vorhandener SpringBoot-Backend-Projekte auf das Yudao-Framework (yudao-cloud)



  1. Starten Sie das Taro-Framework
    • hinteres Ende:Schnellstart (Backend-Projekt)
    • Frontend:Schnellstart (Backend-Projekt)
    • Beachten:
      • Sie müssen Redis und Nacaos herunterladen. Es gibt Tutorials im Backend-Schnellstart.

      • Der Befehl zum Starten von Nacos ist im Tutorial falsch. Wenn Nacos nicht in einem Cluster bereitgestellt wird, verwenden Sie den folgenden Befehl, um es zu starten.

        startup.cmd -m standalone
        
        • 1
  2. Lernen Sie, einen neuen Dienst zu erstellen (nachdem Sie gelernt haben, einen neuen Dienst zu erstellen, können Sie das alte Geschäft migrieren)
    • Lernprogramm:Neuen Dienst erstellen

      Ich bin im Tutorial auf mehrere Probleme gestoßen, einige davon wurden noch nicht gefunden. Dies hat jedoch keinen Einfluss auf die Folgemaßnahmen. Dies ist jedoch hilfreich für das Verständnis der Gesamtstruktur von dem Projekt.

      • Routing-Anfragen für verschiedene Pakete sind unterschiedlich

        Dies beinhaltet die Weiterleitung und Weiterleitung von Anfragen. Die Implementierungsmethode finden Sie hier -> Video-Link

      • Nach dem Start des Demo-Dienstes kann das Swagger-Dokument nicht mit Knife4j geöffnet werden und es wird ein Fehler gemeldet (nicht behoben, aber nicht betroffen).

        Frontend-Fehler

        Backend-Fehler

      • Beim Testen der Testschnittstelle im Tutorial ist ein Fehler aufgetreten

        Auch wenn Autorisierung und Mandanten simuliert werden, kann die Anfrage nicht auf Basis der zuvor bereitgestellten YML-Datei abgeschlossen werden, sodass hier ein Fehler zurückgegeben wird.

        {
            "code": 401,
            "data": null,
            "msg": "账号未登录"
        }
        
        • 1
        • 2
        • 3
        • 4
        • 5
      • Nach dem Ändern der Gateway-Konfigurationsdatei und dem Hinzufügen der Demo-Route heißt es im Dokument, dass die Admin- und App-Testschnittstellen normal getestet werden können, aber beachten Sie: Es funktioniert nicht!

        Da der Mandant nicht geschlossen wurde und das Autorisierungsfeld nicht hinzugefügt wurde, ist das zurückgegebene Ergebnis immer noch ungültig!

    • Ändern Sie die YML-Konfigurationsdatei in yudao-cloud
      • Routing und Weiterleitung

        Ändern Sie application.yaml im Gateway (dies ist im Tutorial zum Erstellen eines neuen Dienstes enthalten).

        Hinzufügen zuRouting- und Weiterleitungsregeln, damit die Anfrage korrekt weitergeleitet wird

        Hinzufügen zuMesser4j-Routing- und Weiterleitungsregeln, damit Sie das Swagger-Dokument normal anzeigen können ([offizielles Tutorial vonknive4j])

      • Enge MieterSaaS Multi-Tenant [Feldisolation]

        Ändern Sie die application.yaml von biz im System

        Fahren Sie den Mandanten herunter (wenn Ihr altes Projekt keine Mandanten umfasst, ist mein aktuelles Verständnis, dass jeder Microservice diesen Ort ändern muss, um den Mandanten herunterzufahren, andernfalls wird dieser Fehler gemeldet: „Die angeforderte Mandanten-ID wurde nicht übergeben, bitte beheben“. !)

        Deaktivieren Sie zunächst die Mandantenfunktion, dies reicht jedoch nicht aus. Sie müssen auch Regeln zum Ignorieren von URLs hinzufügen, um alle URLs zu ignorieren. ! !

        Es gibt ein weiteres Feld, das im Frontend geändert werden muss (in .env). Der Feldname unterscheidet sich von dem im Dokument und kann daher nicht mit der globalen Suche im Dokument gefunden werden.

      • Token-Zertifizierung

        ÜberprüfenFunktionsberechtigungenDokumentieren, application-local.yaml von biz im System ändern

        Theoretisch können Sie den Token-Simulationsmechanismus aktivieren und das Token-Präfix des Token-Simulationsmechanismus festlegen, aber nach dem tatsächlichen Betrieb ist dies nutzlos. Bitte beachten Sie das Tutorial und ändern Sie es.

    • Fügen Sie dem Projekt die vom Unternehmen benötigten JAR-Pakete hinzu
      • Es ist zu beachten, dass es beim Hinzufügen von JAR-Paketen leicht zu Abhängigkeitskonflikten mit der ursprünglichen Maven-Architektur von Yudao (insbesondere knive4j) kommen kann und Abhängigkeiten ausgeschlossen werden müssen.

        <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
    • Testen Sie, ob der neu erstellte Dienst antworten kann
      • Melden Sie sich an und erhalten Sie ein Token zur Authentifizierung

      • Test-App-Test

      • testadmin-test

        Achten Sie auf die Autorisierungsauthentifizierung im Anforderungsheader.

        Authorization:Bearer f4fb08efe73a4a98bb248da70f4cc514
        
        • 1