编程语言
首页 > 编程语言> > Danni、Johny和Java功能标志问题

Danni、Johny和Java功能标志问题

作者:互联网

解决方案

对于解决方案,我们有几个可用的库,我选择了FF4J(java的Feature Flag)。以下是带有解释的代码片段。

1.前往Spring Intializer并创建一个初学者弹簧引导项目。

我不在乎你使用的是哪个版本,但如果你使用的是Spring Boot 3.x,你必须使用Java 17或更高版本。Gradle还是Maven?我不在乎。我和Gradle一起去了。

2.将以下行注入您的gradle依赖项。

implementation 'org.ff4j:ff4j-core:2.0.0'
如果您使用的是maven,请转到Maven中央存储库并找到您自己的依赖项,

3.创建一个Java配置,如FF4JConfig或任何你想要的f*ck。

在哪里创建?这块狗屎不适合你。

4.添加以下行。
@Configuration //This piece of shit will tell spring boot that this is a configuration class
public class FF4jConfig {
    //Feature Name Definition
    public static final String PAPA_FEATURE = "PAPA_FEATURE";

    /*
    * FF4J Configuration
    * Create one bean of type FF4J. Why? Because concept of overriding is dying
    * Create of instance of FF4j. Obviously to use it further
    * Register your Feature
    * Enable or disable according to you
    * You are done, Thank me later (Code Below ⬇️)_
    */
    @Bean
    public FF4j ff4j(){
        FF4j ff4j = new FF4j();
        Feature papaFeature = new Feature(PAPA_FEATURE);
        papaFeature.disable(); //Default we will disable this feature later we will be enable
        ff4j.createFeature(papaFeature);
        return ff4j;
    }
}
5.定义您的API端点,以便Ramu Kaka和Johny进行通信。
    @GetMapping(path = "/should-we-party")
    public String shouldWeParty(){
        if(ff4j.check(FF4jConfig.PAPA_FEATURE))
            return "Yeah Johny Lets Go for party";
        else
            return "Sorry Johny, Papa is at Home";
    }

    /*
     * End-point will change the status of the feature
     * In our case it will notify johny about status of papa
     */
    @PostMapping(path = "/papa-at-hospital/{isAtHospital}")
    public String papaAtHospital(@PathVariable boolean isAtHospital){
        if(isAtHospital){
            ff4j.enable(FF4jConfig.PAPA_FEATURE);
            return ("Message deliverd to danny: PAPA IS AT HOSPITAL, GO PARTY");
        }
        else {
            ff4j.disable(FF4jConfig.PAPA_FEATURE);
            return ("Message deliverd to danny: PAPA LEFT HOSPITAL, COME BACK");
        }
    }

在使用之前,不要忘记自动连接FF4j进行实例化

@Autowired
    FF4j ff4j;

结果

以下是Johny约Danny出去的终点。

应该-我们-党的内点

以下是Ramu Kaka约Danny出去的终点。

爸爸在医院

一旦Ramu Kaka通知DannyBig-B住院了,Johny将在给Danny打电话时得到以下回复。

成功回应

收到这个回复后,Johny和Danny去参加派对了。故事的其余部分从浏览器历史记录中清除

在Github/0x4E43获取完整代码

标签:Johny,Java
来源: