如何在 quarkus 的特定配置文件中停用 url?
How to deactivate a url in a specific profile in quarkus?
我正在使用 quarkus 1.11 开发 API。我想调用另一个 API 但只是在本地我不希望在生产中调用它。
我知道我能做什么:
ProfileManager.getActiveProfile() != "test"
但我想知道是否可以使用一些 java 注释或在 aplication.properties 中配置它:
%dev.test.api/mp-rest/url=DISABLED
非常感谢!
使用配置属性和您无法停用的 MP-restclient 和端点,只需将 url 更改为另一个。
但是您可以做的是创建一个类似于您建议的配置 属性,然后在您的代码中注入 属性 并使用它来调用或不调用您的端点,它是类似于您执行配置文件管理器的逻辑,但您将对调用有更多控制权。
例如,这可能是属性。
%dev.test.api.enabled=true
%prod.test.api.enabled=false
然后像本例中那样注入 quarkus 和 cdi 的属性 using the injection capabilities。
然后执行条件来检查是否必须进行调用。
我认为您不会发现任何 属性 不调用,因为最后您正在执行一个方法并等待答案,并且端点无法更改此行为 属性,仅通过提供替代响应或执行路径的代码。
我正在使用 quarkus 1.11 开发 API。我想调用另一个 API 但只是在本地我不希望在生产中调用它。
我知道我能做什么:
ProfileManager.getActiveProfile() != "test"
但我想知道是否可以使用一些 java 注释或在 aplication.properties 中配置它:
%dev.test.api/mp-rest/url=DISABLED
非常感谢!
使用配置属性和您无法停用的 MP-restclient 和端点,只需将 url 更改为另一个。
但是您可以做的是创建一个类似于您建议的配置 属性,然后在您的代码中注入 属性 并使用它来调用或不调用您的端点,它是类似于您执行配置文件管理器的逻辑,但您将对调用有更多控制权。
例如,这可能是属性。
%dev.test.api.enabled=true
%prod.test.api.enabled=false
然后像本例中那样注入 quarkus 和 cdi 的属性 using the injection capabilities。
然后执行条件来检查是否必须进行调用。
我认为您不会发现任何 属性 不调用,因为最后您正在执行一个方法并等待答案,并且端点无法更改此行为 属性,仅通过提供替代响应或执行路径的代码。