个人API项目版本升级

个人API项目版本升级

      今晚又对自己的开源API项目升级,加入了平滑重启以及API安全验证,下面跟大家介绍这两个功能使用

      一、平滑重启

      平滑重启使用的是endless,由于endless无法在windows环境下安装,所以我是在Mac环境下安装的,输入以下命令安装:

go get -u github.com/fvbock/endless

安装完之后我们将项目文件编译好后部署到Linux环境下,并输入以下命令通过后台守护进程运行

nohup ./goAPI&

后续如果改了代码,重新编译成新的文件,覆盖旧文件后,比如该项目运行的进程id是567,通过输入以下命令,就可以平滑重启

kill -1 567

      二、API令牌使用

      对接口的安全检验,我是把令牌参数放在Header头部,分别传token、tokenTime两个参数

      1、tokenTime

      当前时间戳,API检验是5分钟内有效,例如:1627138701。

      2、token

      API调用令牌,主要组成部分是项目密钥+路由地址+tokenTime,最后进行md5,我们通过下面的例子进行讲解

     (1)项目密钥:

        存放在项目conf目录下的config文件,默认是goAPI。

     (2)路由地址:

      http://localhost:9999/admin/loveTalk/getDataList,在这里我们需要去除域名或者ip:端口组合,只留admin/loveTalk/getDataList,然后再去除/,最后只剩下adminloveTalkgetDataList

      (3)tokenTime:

      1627138701

我们再将三者拼接成字符串并进行md5,md5(goAPI+adminloveTalkgetDataList+1627138701),最终生成token:6d5ef54480eecda44867982cb3b05ffa

       我们在将token以及tokenTime放在Header头部进行请求,截图如下:

WX20210724-234208@2x.png

      上面这两个就是新版本加入的功能,已经可以满足我们大部分开发的需求,大家如果有兴趣可以访问基于Gin开发的API项目进行研究。