0
点赞
收藏
分享

微信扫一扫

Golang API应用开发案例

Golang API应用实现功能:接收get请求参数消息并将消息内容发到钉钉机器人群、接收接口参数数据保存到数据库、接口参数数据签名校验通过保存到数据库。更多Golang开发学习资料: ​​https://edu.51cto.com/course/31781.html​​

源码地址:​​https://gitee.com/anning-liang/learn-api.git​​​

1、创建Golang API工程项目

1、到E:\go\path\src目录使用bee命令创建工程项目(gopath下):learn-api
# 打开windows命令行,创建项目
bee api learn-api

2、构建Golang API应用镜像

# 项目learn-api功能说明:接收get请求参数并发消息到钉钉机器人群,该场景常用于生产系统监控告警、接收参数数据并保存到数据库、接收参数数据校验签名。
1、登录linux服务器(已提前配置好golang环境和git环境)
2、克隆代码
cd /gopath/src/
git clone https://gitee.com/anning-liang/learn-api.git
3、编译
cd /gopath/src/learn-api
export CGO_ENABLED="0"
export GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn
# go env -w GOPROXY=https://goproxy.cn,direct
go mod init learn-api
go mod tidy
go build
4、编写Dockerfile
# Dockerfile文件内容:
vi Dockerfile
FROM alpine:3.15.0
MAINTAINER 834951526@qq.com

ENV TZ=Asia/Shanghai
RUN mkdir -p /mproc/
ADD localtime /etc/localtime
COPY conf /mproc/conf

COPY learn-api /mproc/learn-api
WORKDIR /mproc
EXPOSE 8096
ENTRYPOINT ["./learn-api"]

5、构建learn-api应用镜像
# 拉取基础镜像
docker pull alpine:3.15.0
# 构建应用镜像
docker build -t learn-api:1.0.0 .
# 推送到镜像仓库
docker push xxxxxx:5000/release/learn-api:1.0.0
6、验证应用镜像运行容器正常。服务器启动程序成功,遇到系统无法访问,添加iptables规则后可正常访问。命令:iptables -A INPUT -p tcp -s 0.0.0.0 --dport 8096 -j ACCEPT

3、运行Golang api应用容器验证业务

# 配置文件挂载到容器里启动应用容器
1、上传应用配置文件到服务器/data/learn-api/conf目录下

2、登录linux服务器
docker run -d --restart=always -p 8096:8096 --name learn-api \
-v /data/learn-api/conf:/app/conf learn-api:1.0.0

3、验证业务
# 验证应用容器日志
# 验证发消息到钉钉机器人群
http://localhost:8096/api/v1/dingding?DingDing=alarm&Metric=devops&MetricAlarm=devopscase
# 验证数据保存到数据库
http://localhost:8096/api/v1/addUser?LoginName=zhangsan&UserName=张三&Phone=18022334281
# 验证校验参数签名,参数数据保存到数据库
http://localhost:8096/api/v1/addUser2?LoginName=zhangsan&UserName=张三&Phone=18022334281&Sign=73567af438322fd74e86b16ac1246049d81d5fa31bdd2099

# 签名方法:双方已持有同一份key,拼明文字段,先算md5再加密得到签名。明文字段:loginName,userName,phone

举报

相关推荐

0 条评论