优秀的编程知识分享平台

网站首页 > 技术文章 正文

手写一个业务中台java版sdk(java是什么软件有什么作用)

nanyue 2024-08-04 17:01:59 技术文章 6 ℃

一,背景

一个公司的不同项目或者不同公司的项目交互方式一般是http方式,当业务方需要对接某服务功能的时候,一般是要接口文档,按照服务提供方已有的接口文档的规范去对接接口。(如果你们公司所有项目都是用同一种开发语言,同一个注册中心,并且不提供对外openApi,忽略我这篇文章)。

这种方式的对接接口存着很大的沟通成本,特别是在接口需要一些权限校验的场景,比如:token验证,签名验签等,这一块都需要有约定好的各种规则。这些规则往往存在人为的一些干扰因素,包括约定规则的复杂度,文档的齐全度,功能接口的设计完善度和合理度等,会影响对接难易程度。

所以后面就衍生了通过sdk方式提供对接加文档的方式。目前阿里云,腾讯云提供等提供的产品服务基本都是sdk的方式
例如:
阿里一键登录,
阿里apppush,
腾讯内容校验等。

这种对接方式非常便捷,我们只需要引入sdk,并填充我们需要的实体字段就能完成对接,真的可以说对接零成本零沟通。

二,sdk方式优缺点

优点:
1,屏蔽接口的各种权限和规则校验细节
2,接入方能更快速地接入。
3,有效减少沟通成本。

缺点:
1,需要维护好sdk的版本。

2,为了满足不同开发语言的需求,需要开发不同语言的sdk来支持,需要耗费人力。
(当然目前也有根据文档自动生成的开源项目 例如:Swagger CodeGen,当然但对于有强烈洁癖症的人来说,生成的东西可能会不太满意,更倾向于定制化做改造)

三,http方式sdk本质

这种发http请求的sdk,在于sdk需要提供接口的入参,出参,鉴权的校验规则和提供统一的发送http请求工具,屏蔽接口的各种业务细节,调用方只关心所需的业务参数即可。

四,手写一个http请求的sdk

这里我们以java语言为例手写一个http请求的sdk

第一步编写sdk项目

新建java工程,然后引进http请求的工具类
这里我们用hutool提供的工具类来做实验
1)项目工程包结构如下


2)编写UserClient


3)打包发布到仓库生成依赖

  <dependency>
      <groupId>httpsdk</groupId>
      <artifactId>httpsdk</artifactId>
      <version>0.0.1-SNAPSHOT</version>
   </dependency>

第二步测验sdk项目使用



引入的sdk版本依赖,能正常访问接口并响应。

最后说一句

感谢您的阅读,您的正向反馈是我持续创作的动力,十分期待欢迎您的关注!

最近发表
标签列表