Partage de technologie

Guide de mise à niveau des projets backend SpringBoot existants vers le framework Yudao (yudao-cloud)

2024-07-12

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

Guide de mise à niveau des projets backend SpringBoot existants vers le framework Yudao (yudao-cloud)



  1. Démarrer le framework taro
    • extrémité arrière:Démarrage rapide (projet backend)
    • l'extrémité avant:Démarrage rapide (projet backend)
    • Avis:
      • Vous devez télécharger Redis et Nacaos. Il existe des didacticiels dans le démarrage rapide du backend.

      • La commande pour démarrer nacos est erronée dans le didacticiel. Si nacos n'est pas déployé dans un cluster, utilisez la commande suivante pour le démarrer.

        startup.cmd -m standalone
        
        • 1
  2. Apprenez à créer un nouveau service (après avoir appris à créer un nouveau service, vous pouvez migrer votre ancienne entreprise)
    • Didacticiel:Créer un nouveau service

      J'ai rencontré plusieurs problèmes dans le tutoriel. Certains d'entre eux ont trouvé les raisons, et d'autres n'ont pas encore été trouvés. Cependant, cela n'affecte pas le suivi. Il suffit de le comprendre, ce qui est utile pour comprendre la structure globale. du projet.

      • Les demandes de routage pour différents packages sont différentes

        Cela implique le routage et le transfert des demandes. Veuillez voir ici pour la méthode de mise en œuvre ->. Lien vidéo

      • Après avoir démarré le service de démonstration, le document swagger ne peut pas être ouvert à l'aide de knife4j et une erreur est signalée (non résolue mais non affectée)

        Erreur frontale

        Erreur back-end

      • Il y a une erreur lors du test de l'interface Test dans le tutoriel

        Même si l'autorisation et les locataires sont simulés, la demande ne peut pas être complétée sur la base du fichier yml précédemment fourni, une erreur sera donc renvoyée ici.

        {
            "code": 401,
            "data": null,
            "msg": "账号未登录"
        }
        
        • 1
        • 2
        • 3
        • 4
        • 5
      • Après avoir modifié le fichier de configuration de la passerelle et ajouté la route de démonstration, le document indique que les interfaces de test de l'administrateur et de l'application peuvent être testées normalement, mais attention : cela ne fonctionne pas !

        Parce que le locataire n'a pas été fermé et que le champ Autorisation n'a pas été ajouté, le résultat renvoyé n'est toujours pas valide !

    • Modifier le fichier de configuration yml dans yudao-cloud
      • Acheminement et transfert

        Modifier application.yaml dans la passerelle (ceci est inclus dans le didacticiel de création d'un nouveau service)

        Ajouter àRègles de routage et de transfert, afin que la demande soit transmise correctement

        Ajouter àrègles de routage et de transfert knife4j, afin que vous puissiez visualiser le document swagger normalement ([tutoriel officiel de knive4j]

      • Locataires prochesSaaS multi-tenant [isolation du terrain]

        Modifier l'application.yaml de biz dans le système

        Arrêtez le locataire (si votre ancien projet n'implique pas de locataires, ma compréhension actuelle est que chaque microservice doit modifier cet endroit pour arrêter le locataire, sinon il signalera "L'ID de locataire demandé n'a pas été transmis, veuillez résoudre" cette erreur !)

        Tout d'abord, désactivez la fonction locataire, mais cela ne suffit pas. Vous devez également ajouter des règles pour ignorer les URL pour ignorer toutes les URL ! ! !

        Il y a un autre champ qui doit être modifié sur le front-end (dans .env). Le nom du champ est différent de celui du document, il ne peut donc pas être trouvé en utilisant la recherche globale dans le document.

      • Certification de jeton

        VérifierAutorisations de fonctionDocumentez, modifiez application-local.yaml de biz dans le système

        Théoriquement, vous pouvez activer le mécanisme de simulation de jeton et définir le préfixe de jeton du mécanisme de simulation de jeton, mais cela ne sert à rien après le fonctionnement réel. Veuillez respecter le didacticiel et le modifier.

    • Ajouter les packages jar requis par l'entreprise au projet
      • Il convient de noter que lors de l'ajout de packages jar, il est facile de provoquer des conflits de dépendances avec l'architecture maven d'origine de Yudao (en particulier knive4j), et les dépendances doivent être exclues.

        <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
    • Testez si le service nouvellement créé peut répondre
      • Connectez-vous et obtenez un jeton pour l'authentification

      • Test d'application-test

      • testadmin-test

        Faites attention à l'authentification d'autorisation dans l'en-tête de la demande.

        Authorization:Bearer f4fb08efe73a4a98bb248da70f4cc514
        
        • 1