一、接口地址写死在代码
为什么这么写?
将地址写死在代码的时候,我是考虑到,不管是开发环境,还是生产环境,都调用同一个接口,那是不是可以不用配置呢。很明显不行,挨批了 /(ㄒoㄒ)/~~
二、接口地址配置在环境变量
为什么这么写?
既然不能写死在代码,那我配置在环境变量总可以了吧?其他调用接口的地方,也很多是配置在环境变量中的。
很遗憾,又挨批了 /(ㄒoㄒ)/~~
思考过后,我想到一个可能是为什么不行的原因。其他读取环境变量的地方,是基础设施(infra),在微服务启动的时候,就去读取了环境变量,如果缺少环境变量,微服务就无法启动。但是我这里读取环境变量的逻辑,并不是在服务启动的时候就执行的。也就是说,哪怕缺少这个环境变量,服务一样能启动,但是调用到这个逻辑的时候,就会报错,服务强制停止。
三、配置在数据库中
将接口地址配置在数据库中,当需要调用接口的时候,从数据库中读出来。像 Java 的一些框架,配置文件的配置,应该也是这么搞的吧(猜测)