Обмен технологиями

Руководство по обновлению существующих серверных проектов SpringBoot до платформы Yudao (yudao-cloud)

2024-07-12

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

Руководство по обновлению существующих серверных проектов SpringBoot до платформы Yudao (yudao-cloud)



  1. Запустить фреймворк Таро
    • задняя часть:Быстрый старт (бэкэнд-проект)
    • внешний интерфейс:Быстрый старт (бэкэнд-проект)
    • Уведомление:
      • Вам необходимо загрузить Redis и Nacaos. В кратком руководстве по серверной части есть учебные пособия.

      • В руководстве указана неверная команда запуска nacos. Если nacos не развернут в кластере, используйте следующую команду для его запуска.

        startup.cmd -m standalone
        
        • 1
  2. Научитесь создавать новый сервис (научившись создавать новый сервис, вы сможете перенести старый бизнес)
    • Руководство:Создать новую услугу

      В уроке я столкнулся с несколькими проблемами. Некоторые из них нашли причины, а некоторые еще не найдены. Однако это не влияет на дальнейшие действия. Это просто необходимо понять, что полезно для понимания общей структуры. проекта.

      • Запросы маршрутизации для разных пакетов различны

        Это включает в себя маршрутизацию и пересылку запросов. Метод реализации см. здесь ->. Ссылка на видео

      • После запуска демонстрационного сервиса документ Swagger не может быть открыт с помощью ножа 4j, и сообщается об ошибке (не решено, но не затронуто).

        Ошибка внешнего интерфейса

        Серверная ошибка

      • В руководстве имеется ошибка при тестировании интерфейса теста.

        Даже если авторизация и арендаторы смоделированы, запрос не может быть выполнен на основе предоставленного ранее yml-файла, поэтому здесь будет возвращена ошибка.

        {
            "code": 401,
            "data": null,
            "msg": "账号未登录"
        }
        
        • 1
        • 2
        • 3
        • 4
        • 5
      • После изменения файла конфигурации шлюза и добавления демонстрационного маршрута в документе говорится, что тестовые интерфейсы администратора и приложения можно протестировать в обычном режиме, но учтите: это не работает!

        Поскольку клиент не был закрыт и поле «Авторизация» не добавлено, возвращаемый результат по-прежнему недействителен!

    • Измените файл конфигурации yml в yudao-cloud.
      • Маршрутизация и переадресация

        Измените файл application.yaml в шлюзе (это включено в руководство по созданию новой службы).

        добавить вПравила маршрутизации и пересылки, чтобы запрос был перенаправлен корректно

        добавить внож4j правила маршрутизации и пересылки, чтобы вы могли нормально просматривать документ Swagger ([официальное руководство knive4j]

      • Близкие арендаторыМультитенантность SaaS [изоляция полей]

        Измените файл application.yaml biz в системе.

        Завершите работу клиента (если в вашем старом проекте нет клиентов, насколько я понимаю, каждый микросервис должен изменить это место, чтобы закрыть клиента, в противном случае он сообщит: «Запрошенный идентификатор клиента не был передан, устраните неполадку» этой ошибки. !)

        Сначала отключите функцию арендатора, но этого недостаточно. Вам также необходимо добавить правила игнорирования URL-адресов, чтобы игнорировать все URL-адреса! ! !

        Есть еще одно поле, которое необходимо изменить во внешнем интерфейсе (в формате .env). Имя поля отличается от имени в документе, поэтому его невозможно найти с помощью глобального поиска в документе.

      • Сертификация токена

        ПроверятьРазрешения функцийДокументируйте, измените application-local.yaml biz в системе.

        Теоретически вы можете включить механизм моделирования токена и установить префикс токена для механизма моделирования токена, но после фактической работы он бесполезен. Соблюдайте руководство и измените его.

    • Добавьте в проект jar-пакеты, необходимые бизнесу.
      • Следует отметить, что при добавлении jar-пакетов легко вызвать конфликты зависимостей с исходной архитектурой maven Yudao (особенно 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
    • Проверьте, может ли вновь созданная служба ответить
      • Войдите в систему и получите токен для аутентификации

      • Тестовое приложение-тест

      • testadmin-тест

        Обратите внимание на аутентификацию авторизации в заголовке запроса.

        Authorization:Bearer f4fb08efe73a4a98bb248da70f4cc514
        
        • 1