跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 需要对外提供一个 Java sdk,现在碰到需要区分生产环境和非生产环境的情况有些搞不定
未分類
9 9 月 2020

需要对外提供一个 Java sdk,现在碰到需要区分生产环境和非生产环境的情况有些搞不定

需要对外提供一个 Java sdk,现在碰到需要区分生产环境和非生产环境的情况有些搞不定

資深大佬 : b0644170fc 1

这个 sdk 的主要作用就是帮助客户方便的调用公司的对外 api,做些参数签名的工作。但是需要区分是否是生产环境,如果是用户的生产环境就调用公司生产环境的 api,否则就调用公司测试环境的 api 。

我能想到的就是通过让用户在方法中传入参数来判断是否生产环境,但是这样感觉不好。

我想达到类似 spring 可以直接判断 env 的程度,那么是要让用户在 classpath 下加某个固定的 properties,我的 sdk 去读取 properties 这样吗?还有咩有其它方法?

大佬有話說 (14)

  • 資深大佬 : hallDrawnel

    这应该是他们的环境通过配置不同的域名、名字、ip:port 来做,而不是改你的实现吧。

  • 資深大佬 : miv

    读取环境变量,做区分就好,就像 win 系统里面那些环境变量。启动 SDK 前,需要读取预设的环境变量进行判断

  • 資深大佬 : oneisall8955

    根据环境,请求地址不同,路由到对应的环境网关

  • 主 資深大佬 : b0644170fc

    @hallDrawnel 现在就是想在我的 sdk 上来区分,而不需要用户自己手动设置

  • 資深大佬 : supermoonie

    主真是操碎了心

  • 資深大佬 : nutting

    你做你就是背锅啊,出问题说不清。肯定是要对方来区分。

  • 資深大佬 : nutting

    换个说法,如果对方那边很清晰,他改一下不是很容易吗。如果很复杂,需要你根据 ip 判断什么的,那就很容易出差错。

  • 資深大佬 : foam

    过度封装警告。
    某个参数是否要暴露给业务,要看业务是否需要关心该参数。对于 sdk 环境,业务明显需要关心。1,业务可以在他的测试环境调用你的生产环境,用于测试。2,业务只需要关注他传入的参数,就可以明确知道此时 SDK 身处哪个环境。而不用担心改了哪些因变量,导致环境发生了变化。

    ps. 更好的做法应该是不区分环境,让他们都调用到你们的生产环境去。当然,如果涉及到金钱等敏感资产的业务,让业务端传参,让他知道是否身处沙箱不是很正常吗。

  • 資深大佬 : chocotan

    我们接口地址是让调用方自己传的,接口文档中写清楚多个环境的接口地址。

  • 資深大佬 : Oktfolio

    SDK,创建对象的时候就指定个环境啊。或者 autoconfiguration,在 application.properties/application.yaml 配置。这有什么问题?

  • 資深大佬 : securityCoding

    你关心环境干嘛….没见过这样的 sdk 哦

  • 資深大佬 : zhady009

    根据自己分发的 clientId 来区分,在 api 网关转发

  • 資深大佬 : wysnylc

    sdk 封装业务那就不叫 sdk

  • 資深大佬 : dogfeet

    接过大量 SDK,也开发过一些。建议所谓测试模式正式模式,都做到生成环境中去。

    正规一点的 SDK 常见的做法是:为客户分配参数,然后客户的应用默认是 Test mode.

    客户正常接入(接入过程中会有很多垃圾数据脏数据),等到正式接入完成,你们再后台验收,查看关键接口调用与数据是否正常,验收正常,将 Test mode 修改为正式模式。

    容易出错的地方,不要吝啬,多打日志,客户多了,什么样的程序员你都会见到的。

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具