包含标签 gin 的文章

「连载九」将Golang应用部署到Docker

涉及知识点 Go + Docker 本文目标 将我们的 go-gin-example 应用部署到一个 Docker 里,你需要先准备好如下东西: 你需要安装好 docker。 如果上外网比较吃力,需要配好镜像源。 Docker 在这里简单介绍下 Docker,建议深入学习 Docker 是一个开源的轻量级容器技术,让开发者可以打包他们的应用以及应用运行的上下文环境到一个可移植的镜……

阅读全文

「连载八」为它加上Swagger

涉及知识点 Swagger 本文目标 一个好的 API's,必然离不开一个好的API文档,如果要开发纯手写 API 文档,不存在的(很难持续维护),因此我们要自动生成接口文档。 安装 swag $ go get -u github.com/swaggo/swag/cmd/swag@v1.6.5 若 $GOROOT/bin 没有加入$PATH中,你需要执行将其可执行文件移动到$GOBIN下 mv $GOPATH/bin/swag /usr/local/go/bin 验证是否安装成功 检查 $GOBIN 下是否有 swag 文件,如……

阅读全文

「连载七」优雅的重启服务

知识点 信号量的了解。 应用热更新。 本文目标 在前面编写案例代码时,我相信你会想到,每次更新完代码,更新完配置文件后,就直接这么 ctrl+c 真的没问题吗,ctrl+c到底做了些什么事情呢? 在这一节中我们简单讲述 ctrl+c 背后的信号以及如何在Gin中优雅的重启服务,也就是对 HTTP 服务进行热更新。 ctrl + c 内核在某……

阅读全文

「连载六」编写一个简单的文件日志

涉及知识点 自定义 log。 本文目标 在上一节中,我们解决了 API’s 可以任意访问的问题,那么我们现在还有一个问题,就是我们的日志,都是输出到控制台上的,这显然对于一个项目来说是不合理的,因此我们这一节简单封装log库,使其支持简单的文件日志! 新建logging包 我们在pkg下新建loggin……

阅读全文

「连载五」使用 JWT 进行身份校验

涉及知识点 JWT 本文目标 在前面几节中,我们已经基本的完成了 API’s 的编写,但是,还存在一些非常严重的问题,例如,我们现在的 API 是可以随意调用的,这显然还不安全全,在本文中我们通过 jwt-go (GoDoc)的方式来简单解决这个问题。 下载依赖包 首先,我们下载 jwt-go 的依赖包,如下: go get -u github.com/dgrijalva/jwt-go 编写 jwt 工具包 我们需要编……

阅读全文

「连载四」Gin搭建Blog API's (三)

涉及知识点 Gin:Golang 的一个微框架,性能极佳。 beego-validation:本节采用的 beego 的表单验证库,中文文档。 gorm,对开发人员友好的 ORM 框架,英文文档 com,一个小而美的工具包。 本文目标 完成博客的文章类接口定义和编写 定义接口 本节编写文章的逻辑,我们定义一下接口吧!……

阅读全文

「连载三」Gin搭建Blog API's (二)

涉及知识点 Gin:Golang 的一个微框架,性能极佳。 beego-validation:本节采用的 beego 的表单验证库,中文文档。 gorm,对开发人员友好的 ORM 框架,英文文档 com,一个小而美的工具包。 本文目标 完成博客的标签类接口定义和编写 定义接口 本节正是编写标签的逻辑,我们想一想,一般……

阅读全文

「连载二」Gin搭建Blog API's (一)

思考 首先,在一个初始项目开始前,大家都要思考一下 程序的文本配置写在代码中,好吗? API 的错误码硬编码在程序中,合适吗? db 句柄谁都去Open,没有统一管理,好吗? 获取分页等公共参数,谁都自己写一套逻辑,好吗? 显然在较正规的项目中,这些问题的答案都是不可以,为了解决这些问题,我们挑选一款……

阅读全文

「连载一」Go 介绍与环境安装

本文目标 学会安装 Go。 知道什么是 Go。 知道什么是 Go modules。 了解 Go modules 的小历史。 学会简单的使用 Go modules。 了解 Gin,并简单跑起一个 Demo。 准备环节 安装 Go Centos 首先,根据对应的操作系统选择安装包 下载,在这里我使用的是 Centos 64 位系统,如下: 1 2 3 4 5 $ wget https://studygolang.com/dl/golang/go1.13.1.linux-amd64.tar.gz $ tar -zxvf go1.13.1.linux-amd64.tar.gz $ mv go/ /usr/local/ 配置 /etc/profile……

阅读全文