ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Danni、Johny和Java功能标志问题

2023-07-31 18:32:44  阅读:245  来源: 互联网

标签: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
来源:

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有