기술나눔

기존 SpringBoot 백엔드 프로젝트를 Yudao 프레임워크(yudao-cloud)로 업그레이드하기 위한 가이드

2024-07-12

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

기존 SpringBoot 백엔드 프로젝트를 Yudao 프레임워크(yudao-cloud)로 업그레이드하기 위한 가이드



  1. taro 프레임워크 시작
    • 뒤쪽 끝:빠른 시작(백엔드 프로젝트)
    • 프런트 엔드:빠른 시작(백엔드 프로젝트)
    • 알아채다:
      • Redis 및 Nacaos를 다운로드해야 합니다. 백엔드 빠른 시작에 튜토리얼이 있습니다.

      • 튜토리얼에서 nacos를 시작하는 명령이 잘못되었습니다. nacos가 클러스터에 배포되지 않은 경우 다음 명령을 사용하여 시작하세요.

        startup.cmd -m standalone
        
        • 1
  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