cari
RumahJavajavaTutorialMelaksanakan Pengurusan Bendera Ciri dalam Aplikasi But Spring Anda Menggunakan Panggilan API dan UI dengan Togglz

Implementing Feature Flag Management in Your Spring Boot Application Using API Calls and UI with Togglz

Dalam pembangunan perisian moden, keupayaan untuk mengawal ciri dalam aplikasi langsung tanpa menggunakan kod baharu adalah penting. Keupayaan ini, yang dikenali sebagai pengurusan bendera ciri, membolehkan pasukan menghidupkan atau mematikan ciri dalam masa nyata, membolehkan penghantaran berterusan, ujian A/B dan keluaran kenari. Ia juga memainkan peranan penting dalam mengurangkan risiko yang berkaitan dengan penempatan baharu dengan mengawal pendedahan ciri baharu kepada pengguna.

Dalam artikel ini, kami akan melalui proses melaksanakan pengurusan bendera ciri dalam aplikasi Spring Boot menggunakan Togglz. Kami akan meneroka cara mengkonfigurasi Togglz, mentakrifkan bendera ciri dan mengawal kelakuannya dalam aplikasi anda.

1. Menyediakan Togglz dalam Aplikasi But Spring Anda

Untuk bermula dengan Togglz, anda perlu menambah kebergantungan yang diperlukan pada projek Spring Boot anda. Buka fail build.gradle atau pom.xml anda dan tambahkan kebergantungan berikut:

implementation 'org.togglz:togglz-spring-boot-starter:3.1.2'
implementation 'org.togglz:togglz-console:3.3.3'

Kebergantungan ini termasuk fungsi teras Togglz dan konsol berasaskan web pilihan untuk mengurus bendera ciri anda.

2. Mengkonfigurasi Togglz

Seterusnya, anda perlu mengkonfigurasi Togglz dalam aplikasi Spring Boot anda. Ini melibatkan penyediaan kacang FeatureManager yang Togglz gunakan untuk mengurus bendera ciri anda.

Begini cara anda boleh melakukannya:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.togglz.core.manager.FeatureManager;
import org.togglz.core.manager.FeatureManagerBuilder;
import org.togglz.core.repository.jdbc.JdbcStateRepository;
import org.togglz.core.user.NoOpUserProvider;

import javax.sql.DataSource;

@Configuration
public class TogglzConfiguration {

    private final DataSource dataSource;

    @Autowired
    public TogglzConfiguration(DataSource dataSource) {
        this.dataSource = dataSource;
    }

    @Bean
    public FeatureManager featureManager() {
        return new FeatureManagerBuilder()
                .featureEnum(ProductCheckFeature.class)
                .stateRepository(new JdbcStateRepository(dataSource))
                .userProvider(new NoOpUserProvider())
                .build();
    }
}

Penjelasan:

  • DataSource: DataSource disuntik untuk digunakan oleh JdbcStateRepository. Ini membolehkan Togglz mengekalkan keadaan bendera ciri dalam pangkalan data.
  • FeatureManager: FeatureManager dibina menggunakan FeatureManagerBuilder. Kami menentukan enum yang mentakrifkan ciri (ProductCheckFeature.class), menggunakan JdbcStateRepository untuk menyimpan keadaan ciri dan NoOpUserProvider kerana kami tidak mengaitkan pengguna dengan ciri dalam contoh ini.

3. Mentakrifkan Bendera Ciri dengan Enum

Togglz menggunakan enum untuk menentukan bendera ciri. Setiap pemalar dalam enum mewakili ciri yang boleh dihidupkan atau dimatikan. Berikut ialah contoh:

import org.togglz.core.Feature;
import org.togglz.core.annotation.Label;

public enum ProductCheckFeature implements Feature {

    @Label("product-check")
    PRODUCT_CHECK,

}

Penjelasan:

Label: Anotasi @Label menyediakan nama yang boleh dibaca manusia untuk ciri tersebut. Nama ini akan dipaparkan dalam konsol Togglz jika anda memutuskan untuk menggunakannya.

4. Menggunakan Bendera Ciri dalam Aplikasi Anda

Setelah bendera ciri ditakrifkan dan konfigurasi disediakan, anda boleh mula menggunakannya dalam aplikasi anda. Berikut ialah contoh cara menyemak sama ada ciri aktif sebelum melaksanakan kod tertentu:

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.togglz.core.manager.FeatureManager;
import reactor.core.publisher.Mono;

import javax.servlet.http.HttpServletRequest;

@RestController
@RequestMapping("/api/products")
public class ProductController {

    private final FeatureManager featureManager;
    private final ProductService productService;

    public ProductController(FeatureManager featureManager, ProductService productService) {
        this.featureManager = featureManager;
        this.productService = productService;
    }

    @GetMapping("/check")
    public Mono<responseentity>> checkProduct(@RequestParam String isbn, HttpServletRequest httpServletRequest) {
        if (featureManager.isActive(ProductCheckFeature.PRODUCT_CHECK)) {
            return productService
                    .productCheck(isbn, JwtUtils.getUserJwt(httpServletRequest), Boolean.FALSE)
                    .flatMap(response -> Mono.just(ResponseEntity.ok(response)));
        } 
        return Mono.just(ResponseEntity.status(HttpStatus.NOT_IMPLEMENTED).body("Feature is disabled"));
    }
}
</responseentity>

Penjelasan:

  • FeatureManager: FeatureManager disuntik ke dalam pengawal dan digunakan untuk menyemak sama ada ciri PRODUCT_CHECK aktif.
  • Logik Bersyarat: Jika ciri aktif, operasi semakan produk dilakukan; jika tidak, mesej "Ciri dinyahdayakan" dikembalikan.

5. Menguruskan Bendera Ciri melalui Togglz Console

Konsol Togglz ialah alat berkuasa yang membolehkan anda mengurus bendera ciri anda melalui antara muka web. Untuk mendayakan konsol Togglz, cuma tambahkan sifat berikut pada fail application.properties atau application.yml anda:

implementation 'org.togglz:togglz-spring-boot-starter:3.1.2'
implementation 'org.togglz:togglz-console:3.3.3'

Anda boleh mengakses konsol dengan menavigasi ke /togglz-console dalam penyemak imbas web anda. Konsol menyediakan antara muka yang mudah digunakan untuk menghidupkan atau mematikan ciri, menukar strateginya dan melihat keadaan semasanya.

Kesimpulan

Melaksanakan pengurusan bendera ciri dengan Togglz dalam aplikasi Spring Boot anda ialah proses mudah yang menawarkan kawalan berkuasa ke atas ciri anda. Dengan mengikut langkah yang digariskan dalam artikel ini, anda boleh mengkonfigurasi, mentakrif dan mengurus bendera ciri dengan mudah, membolehkan anda mengeluarkan ciri baharu dengan yakin dan fleksibiliti.

Sama ada anda melancarkan ciri baharu secara beransur-ansur, menjalankan ujian A/B atau sekadar ingin meminimumkan risiko penggunaan, Togglz menyediakan penyelesaian teguh yang disepadukan dengan lancar ke dalam aplikasi Spring Boot anda.

Selamat Pengekodan! ?

Atas ialah kandungan terperinci Melaksanakan Pengurusan Bendera Ciri dalam Aplikasi But Spring Anda Menggunakan Panggilan API dan UI dengan Togglz. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Bagaimanakah saya menggunakan Maven atau Gradle untuk Pengurusan Projek Java Lanjutan, Membina Automasi, dan Resolusi Ketergantungan?Bagaimanakah saya menggunakan Maven atau Gradle untuk Pengurusan Projek Java Lanjutan, Membina Automasi, dan Resolusi Ketergantungan?Mar 17, 2025 pm 05:46 PM

Artikel ini membincangkan menggunakan Maven dan Gradle untuk Pengurusan Projek Java, membina automasi, dan resolusi pergantungan, membandingkan pendekatan dan strategi pengoptimuman mereka.

Bagaimanakah saya membuat dan menggunakan perpustakaan Java Custom (fail JAR) dengan pengurusan versi dan pergantungan yang betul?Bagaimanakah saya membuat dan menggunakan perpustakaan Java Custom (fail JAR) dengan pengurusan versi dan pergantungan yang betul?Mar 17, 2025 pm 05:45 PM

Artikel ini membincangkan membuat dan menggunakan perpustakaan Java tersuai (fail balang) dengan pengurusan versi dan pergantungan yang betul, menggunakan alat seperti Maven dan Gradle.

Bagaimanakah saya melaksanakan caching pelbagai peringkat dalam aplikasi java menggunakan perpustakaan seperti kafein atau cache jambu?Bagaimanakah saya melaksanakan caching pelbagai peringkat dalam aplikasi java menggunakan perpustakaan seperti kafein atau cache jambu?Mar 17, 2025 pm 05:44 PM

Artikel ini membincangkan pelaksanaan caching pelbagai peringkat di Java menggunakan kafein dan cache jambu untuk meningkatkan prestasi aplikasi. Ia meliputi persediaan, integrasi, dan faedah prestasi, bersama -sama dengan Pengurusan Dasar Konfigurasi dan Pengusiran PRA Terbaik

Bagaimanakah saya boleh menggunakan JPA (Java Constence API) untuk pemetaan objek-objek dengan ciri-ciri canggih seperti caching dan malas malas?Bagaimanakah saya boleh menggunakan JPA (Java Constence API) untuk pemetaan objek-objek dengan ciri-ciri canggih seperti caching dan malas malas?Mar 17, 2025 pm 05:43 PM

Artikel ini membincangkan menggunakan JPA untuk pemetaan objek-relasi dengan ciri-ciri canggih seperti caching dan pemuatan malas. Ia meliputi persediaan, pemetaan entiti, dan amalan terbaik untuk mengoptimumkan prestasi sambil menonjolkan potensi perangkap. [159 aksara]

Bagaimanakah mekanisme kelas muatan Java berfungsi, termasuk kelas yang berbeza dan model delegasi mereka?Bagaimanakah mekanisme kelas muatan Java berfungsi, termasuk kelas yang berbeza dan model delegasi mereka?Mar 17, 2025 pm 05:35 PM

Kelas kelas Java melibatkan pemuatan, menghubungkan, dan memulakan kelas menggunakan sistem hierarki dengan bootstrap, lanjutan, dan pemuat kelas aplikasi. Model delegasi induk memastikan kelas teras dimuatkan dahulu, yang mempengaruhi LOA kelas tersuai

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.