Berbagi teknologi

Panduan untuk meningkatkan proyek backend SpringBoot yang ada ke kerangka Yudao (yudao-cloud)

2024-07-12

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

Panduan untuk meningkatkan proyek backend SpringBoot yang ada ke kerangka Yudao (yudao-cloud)



  1. Mulai kerangka talas
    • belakang:Mulai cepat (proyek backend)
    • paling depan:Mulai cepat (proyek backend)
    • Melihat:
      • Anda harus mengunduh Redis dan Nacaos. Ada tutorial di backend quick start.

      • Perintah untuk memulai nacos salah dalam tutorial. Jika nacos tidak disebarkan di cluster, gunakan perintah berikut untuk memulainya.

        startup.cmd -m standalone
        
        • 1
  2. Belajar membuat layanan baru (setelah belajar membuat layanan baru, Anda dapat memigrasikan bisnis lama)
    • Tutorial:Buat layanan baru

      Saya menemui beberapa masalah dalam tutorial, ada yang sudah menemukan alasannya, dan ada pula yang belum ditemukan, namun tidak mempengaruhi tindak lanjutnya proyek.

      • Permintaan perutean untuk paket yang berbeda berbeda-beda

        Ini melibatkan perutean dan penerusan permintaan. Silakan lihat di sini untuk metode implementasi -> Tautan video

      • Setelah memulai layanan demo, dokumen swagger tidak dapat dibuka menggunakan knife4j, dan kesalahan dilaporkan (tidak teratasi tetapi tidak terpengaruh)

        Kesalahan ujung depan

        Kesalahan bagian belakang

      • Ada kesalahan dalam pengujian antarmuka Tes di tutorial

        Meskipun otorisasi dan penyewa disimulasikan, permintaan tidak dapat diselesaikan berdasarkan file yml yang disediakan sebelumnya, sehingga kesalahan akan ditampilkan di sini.

        {
            "code": 401,
            "data": null,
            "msg": "账号未登录"
        }
        
        • 1
        • 2
        • 3
        • 4
        • 5
      • Setelah memodifikasi file konfigurasi gateway dan menambahkan rute demo, dokumen tersebut mengatakan bahwa antarmuka pengujian admin dan aplikasi dapat diuji secara normal, tetapi perhatikan: ini tidak berfungsi!

        Karena penyewa belum ditutup dan kolom Otorisasi belum ditambahkan, hasil yang dikembalikan masih belum valid!

    • Ubah file konfigurasi yml di yudao-cloud
      • Perutean dan penerusan

        Ubah application.yaml di gateway (ini disertakan dalam tutorial membuat layanan baru)

        TambahkanAturan perutean dan penerusan, agar permintaan diteruskan dengan benar

        Tambahkanaturan perutean dan penerusan knife4j, sehingga Anda dapat melihat dokumen angkuh secara normal ([tutorial resmi pisau4j]

      • Tutup penyewaMulti-penyewa SaaS [isolasi lapangan]

        Ubah application.yaml biz di sistem

        Matikan penyewa (jika proyek lama Anda tidak melibatkan penyewa, pemahaman saya saat ini adalah bahwa setiap layanan mikro perlu mengubah tempat ini untuk mematikan penyewa, jika tidak maka akan melaporkan "ID penyewa yang diminta tidak diteruskan, harap pecahkan masalah" kesalahan ini !)

        Pertama, matikan fungsi penyewa, tetapi itu tidak cukup. Anda juga perlu menambahkan aturan untuk mengabaikan URL untuk mengabaikan semua URL! ! !

        Ada field lain yang perlu diubah di bagian depan (di .env). Nama field berbeda dengan yang ada di dokumen, sehingga tidak dapat ditemukan menggunakan pencarian global di dokumen.

      • Sertifikasi token

        MemeriksaIzin fungsiDokumen, ubah application-local.yaml biz di sistem

        Secara teoritis, Anda dapat mengaktifkan mekanisme simulasi Token dan mengatur awalan Token dari mekanisme simulasi Token, tetapi tidak ada gunanya setelah operasi sebenarnya. Harap ikuti tutorial dan ubah.

    • Tambahkan paket toples yang dibutuhkan oleh bisnis ke proyek
      • Perlu dicatat bahwa ketika menambahkan paket jar, mudah menyebabkan konflik ketergantungan dengan arsitektur pakar asli Yudao (terutama knive4j), dan ketergantungan harus dikecualikan.

        <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
    • Uji apakah layanan yang baru dibuat dapat merespons
      • Masuk dan dapatkan token untuk otentikasi

      • Uji aplikasi-tes

      • tesadmin-tes

        Perhatikan otentikasi otorisasi di header permintaan.

        Authorization:Bearer f4fb08efe73a4a98bb248da70f4cc514
        
        • 1