# api **Repository Path**: solate/api ## Basic Information - **Project Name**: api - **Description**: Go + Docker API服务开发和部署 - **Primary Language**: Go - **License**: BSD-3-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2017-03-03 - **Last Updated**: 2020-12-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # api ## 简介 Go + Docker API服务开发和部署 主要讲解如何使用Go来开发一个适用于生产环境的API服务。 ## 使用Viper来管理配置 通过把一些容易变化和依赖环境的数据,比如数据库连接地址、日志打印级别、日志保存路径等,写到配置文件中,就能通过修改配置来改变应用行为,而无须经历修改代码,编译打包,部署上线这样比较重量的过程。Viper 是一种完整的应用配置管理工具。支持多种来源的配置,包括配置文件、命令行参数、环境变量、远程配置管理服务(etcd和consul),并且可以同时使用多种来源,每种来源有不同的优先级。配置文件支持JSON、TOML、YAML等常见格式。 ### 配置文件 config.json 1. dir.data 运行时数据存放目录,比如日志、PID文件、用户上传文件等 2. server 配置服务监听端口、PID文件路径、是否开启debug模式等 3. jwt JWT 本应用中用来进行登录用户身份验证,其密钥和有效期写到配置里,以便管理 4. log 配置日志打印级别、不同类型日志的存放路径 5. mongodb MongoDB数据库连接地址 ## middlewares Echo框架默认打印的请求日志里没有POST请求的提交内容,也没有打印响应内容,在调试API时很不方便。我们实现了一个打印请求和响应的中间件,该中间件只有在Debug模式下才会加载,启用后将打印每个请求的提交内容和响应结果。 middlewares/reqresplogger.go ## 参考 [Go + Docker API服务开发和部署 - 开发篇](https://jaggerwang.net/develop-and-deploy-api-service-with-go-and-docker-develop/) PS: 觉得不错的请点个赞吧!! (ง •̀_•́)ง