Gerbang API & Proksi Songsang (Nginx + Spring Cloud Gateway) · Pelajaran

Menentukan Laluan dan Predikat

Pelajari cara menentukan laluan dinamik menggunakan predikat, contohnya Path, Host dan Method, untuk mengarahkan permintaan kepada perkhidmatan tertentu.

Pelajaran 3 daripada 412 langkah

Menentukan Laluan dan Predikat ialah pelajaran Gerbang API & Proksi Songsang (Nginx + Spring Cloud Gateway) percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Gerbang API & Proksi Songsang (Nginx + Spring Cloud Gateway), dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Gerbang API & Proksi Songsang (Nginx + Spring Cloud Gateway) merangkumi sejumlah 4 pelajaran.

Penghalaan dengan Gerbang API

Selamat datang! Dalam seni bina perkhidmatan mikro, pelanggan tidak berkomunikasi secara langsung dengan setiap perkhidmatan. Sebaliknya, mereka berinteraksi dengan Gerbang API.

Gerbang ini bertindak sebagai satu titik kemasukan, lalu mengarahkan permintaan masuk kepada perkhidmatan bahagian belakang yang betul. Proses ini dipanggil penghalaan.

Apakah Predikat?

Dalam Gerbang Spring Cloud, predikat penting untuk penghalaan. Anggaplah predikat sebagai 'syarat' atau 'peraturan'.

  • Predikat dinilai sebagai true atau false.
  • Jika predikat (atau sekumpulan predikat) bagi sesuatu laluan dinilai sebagai true, gerbang meneruskan permintaan menggunakan laluan tersebut.
  • Jika false, gerbang mencuba laluan seterusnya.

Asas Projek Gerbang

Laluan biasanya dikonfigurasi dalam fail application.yml atau application.properties aplikasi Spring Boot anda. Berikut ialah aplikasi Spring Boot minimum yang *boleh* menjadi hos konfigurasi gerbang kita. Logik penghalaan itu sendiri akan dimasukkan ke dalam YAML.

Anda boleh menjalankan aplikasi asas ini untuk melihatnya berfungsi:

package com.coddykit.gateway;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@RestController
public class GatewayApplication {

  public static void main(String[] args) {
    SpringApplication.run(GatewayApplication.class, args);
  }

  @GetMapping("/test-gateway")
  public String testGateway() {
    return "Hello from Gateway!";
  }
}

Struktur Laluan Asas

Sesuatu laluan dalam Gerbang Spring Cloud memerlukan tiga perkara utama:

  • id: Pengecam unik untuk laluan tersebut.
  • uri: URI perkhidmatan bahagian belakang yang akan menerima penerusan permintaan.
  • predicates: Senarai syarat yang mesti dipenuhi supaya laluan ini diaktifkan.

Kita akan mentakrifkan perkara-perkara ini terutamanya dalam application.yml.

Predikat Laluan

Predikat Path ialah antara predikat yang paling biasa digunakan. Predikat ini memadankan laluan URI permintaan dengan corak yang ditentukan.

  • Anda boleh menggunakan aksara bebas seperti * (sepadan dengan satu segmen laluan) dan ** (sepadan dengan beberapa segmen laluan).
  • Contohnya, /users/* sepadan dengan /users/1 tetapi bukan /users/admin/1.
  • /users/** sepadan dengan kedua-dua /users/1 dan /users/admin/1.

Predikat Laluan dalam Tindakan

Beginilah cara anda mengkonfigurasi laluan menggunakan predikat Path untuk menghantar semua permintaan yang bermula dengan /api/users kepada bahagian belakang user-service:

spring:
  cloud:
    gateway:
      routes:
        - id: user_service_route
          uri: http://localhost:8081 # Your backend user service
          predicates:
            - Path=/api/users/**

Predikat Hos

Predikat Host memadankan permintaan berdasarkan nama hos dalam pengepala permintaan.

  • Predikat ini berguna untuk menghalakan permintaan daripada domain atau subdomain yang berbeza kepada perkhidmatan tertentu.
  • Anda juga boleh menggunakan aksara bebas di sini, seperti *.example.com untuk memadankan mana-mana subdomain bagi example.com.

Contoh Predikat Hos

Katakan anda mahu menghalakan semua permintaan yang datang daripada api.mycompany.com kepada perkhidmatan bahagian belakang tertentu. Begini caranya:

spring:
  cloud:
    gateway:
      routes:
        - id: api_domain_route
          uri: http://localhost:8082 # Your backend API service
          predicates:
            - Host=api.mycompany.com

Predikat Kaedah

Predikat Method memadankan permintaan berdasarkan kaedah HTTPnya, yang juga dikenali sebagai kata kerja HTTP.

  • Kaedah yang biasa termasuk GET, POST, PUT, DELETE dan PATCH.
  • Hal ini membolehkan anda mengarahkan jenis operasi yang berbeza, seperti membaca atau mencipta data, kepada titik akhir atau perkhidmatan bahagian belakang yang berbeza.

Contoh Predikat Kaedah

Untuk memastikan hanya permintaan POST kepada /products dihalakan kepada perkhidmatan tertentu, manakala kaedah lain dikendalikan di tempat lain:

spring:
  cloud:
    gateway:
      routes:
        - id: create_product_route
          uri: http://localhost:8083 # Service for creating products
          predicates:
            - Path=/products
            - Method=POST

Semakan Kehebatan Predikat

Anda telah mempelajari predikat Path, Host dan Method. Sekarang, mari uji pemahaman anda!

Imbas Kembali: Laluan & Predikat

Syabas! Anda telah mempelajari asas mentakrifkan laluan dan menggunakan predikat dalam Gerbang Spring Cloud.

  • Laluan mengarahkan trafik kepada perkhidmatan bahagian belakang.
  • Predikat ialah syarat, seperti Path, Host dan Method, yang menentukan sama ada sesuatu laluan sepadan.
  • Beberapa predikat pada satu laluan bertindak sebagai syarat AND.

Gabungan yang berkuasa ini membolehkan pengurusan trafik yang fleksibel dan pintar dalam perkhidmatan mikro anda.

Percuma untuk bermula

Pelajari Gerbang API & Proksi Songsang (Nginx + Spring Cloud Gateway) dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
12
Pelajaran
48

Soalan Lazim

Adakah pelajaran “Menentukan Laluan dan Predikat” percuma?

Ya — teks penuh “Menentukan Laluan dan Predikat” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Gerbang API & Proksi Songsang (Nginx + Spring Cloud Gateway), tingkat taraf kepada CoddyKit PRO. Kursus Gerbang API & Proksi Songsang (Nginx + Spring Cloud Gateway) merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Menentukan Laluan dan Predikat”?

Pelajari cara menentukan laluan dinamik menggunakan predikat, contohnya Path, Host dan Method, untuk mengarahkan permintaan kepada perkhidmatan tertentu. Anda berlatih Gerbang API & Proksi Songsang (Nginx + Spring Cloud Gateway) menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Gerbang API & Proksi Songsang (Nginx + Spring Cloud Gateway)?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Gerbang API & Proksi Songsang (Nginx + Spring Cloud Gateway) di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.

Berapa lamakah pelajaran “Menentukan Laluan dan Predikat” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Gerbang API & Proksi Songsang (Nginx + Spring Cloud Gateway) ini?

Ya. Setiap pelajaran Gerbang API & Proksi Songsang (Nginx + Spring Cloud Gateway) menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Gerbang berbanding Perkhidmatan Mikro Tradisional
  2. Menyediakan Projek Gerbang Asas
  3. Menentukan Laluan dan Predikat
  4. Memahami Asas Reaktif
← Kembali ke Gerbang API & Proksi Songsang (Nginx + Spring Cloud Gateway)