我正在使用Retrofit库进行客户端调用。在某些环境中,我想以某种方式加密某些我的流量。在其他环境中,我没有。通常我会使用属性配置或Spring配置文件来执行此操作,但此代码如下所示:
//This is an @Bean method
new RestAdapter.Builder()
.setConverter(new JacksonConverter(this.jacksonObjectMapper))
.setErrorHandler(new RetrofitErrorHandler())
.setLog(new RetrofitLogback())
.setLogLevel(logLevel)
.setEndpoint(host)
.setClient(sslClient()) //sometimes do this, sometimes don't do this
.setLogLevel(RestAdapter.LogLevel.FULL)
.build()
我们的代码中有许多地方有条件地需要sslClient()
,有些地方永远不应该使用sslClient
。 Spring有没有办法方便地配置它?
最天真的方法是找到所有这些改进设置并将其中一些包装在if
语句中。但也许有一种更清晰的方法可以重构与Spring无关的代码。