手写http-sdk

一,背景

 目前项目提供的交互方式一般是http方式。当业务方需要对接的时候,一般是要接口文档的方式去对接业务接口。

对接接口存着很大的沟通成本特别是在接口需要一些权限校验的场景比如:签名验签,token验证等,这一块都需要有约定好的各种规则。这些规则往往存着人为的一些干扰,导致对接难度大。

二,sdk优缺点

以sdk方式提供优点:

1,屏蔽接口的各种权限校验规则。

2,接入方能更快速的接入。

3,有效减少沟通成本。

缺点:

1,需要维护好sdk的版本

2, 为了满足不同开发语言的需求,需要开发不同sdk的版本来支持,需要耗费人力。

三,手写http-sdk

对于这种发http请求的sdk在于sdk需要提供接口的入参,出参和提供统一的发送http请求工具。

这里我们以java语言为例手写一个sdk

第一步 编写sdk项目

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

 
      cn.hutool
      hutool-all
      4.5.15
  

2)项目工程包结构如下

手写http-sdk_第1张图片

3)编写UserClient

手写http-sdk_第2张图片

userclient里面可以封装各种签名和header头,调用方只要传调用方必须的参数就可以

4)打包,并发布到私服

生成依赖如下


            httpsdk
            httpsdk
            0.0.1-SNAPSHOT
        

第二步 测验sdk项目使用

在另外一个项目中引入第一步的sdk依赖,然后在main方法中编写测试代码

 public static void main(String[] args) {
        String host = "http://127.0.0.1:8081";
        UserClient userClient = new UserClient("appid",host);
        UserRequest userRequest = new UserRequest();
        userRequest.setUid("uid");
        UserRepond userRepond = userClient.gerUserListByIds(userRequest);
        System.out.println(JSONUtil.toJsonStr(userRepond));

    }

第三步 实验结果

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

手写http-sdk_第3张图片

你可能感兴趣的:(sdk,java,开发语言)