在实际开发中,需要前后端需要协商状态码,状态码用于后端返前端时使用。在一个团队中,定义的状态码讲道理应该是一致的,项目开始的起始阶段状态码应该是定义了个七七八八的,随着功能的叠加而不断增加。此系列将围绕我的研发之旅进行。 状态码推荐的项目目录为pkg/globalcode目录 后端返
1. 令牌桶 1.1 原理 我们以 r/s 的速度向桶内放置令牌,桶的容量为 b , 如果桶满了令牌将会丢弃 当请求到达时,我们向桶内获取令牌,如果令牌足够,我们就通过转发请求 如果桶内的令牌数量不够,那么这个请求会被缓存等待令牌足够时转发,或者是被直接丢弃掉 由于桶的存在,所以令牌桶算法不
package main import ( "fmt" "github.com/gin-gonic/gin" "net/http" "time" ) func index(ctx *gin.Context) { ctx.JSON(http.StatusOK, gin.H{ "status": "in index!", }) } func video(ctx *gin
package main import ( "github.com/gin-gonic/gin" "net/http" ) func main() { router := gin.Default() router.Any("/", func(ctx *gin.Context) { switch ctx.Request.Method { case http.MethodGet: ctx.JSON(http.StatusO
package main import ( "github.com/gin-gonic/gin" "net/http" ) func main() { router := gin.Default() v1 := router.Group("v1") { server1 := v1.Group("server1") { server1.GET("/user", func(ctx
package main import ( "github.com/gin-gonic/gin" "net/http" ) func main() { route := gin.Default() v1 := route.Group("v1") // 分组 { v1.GET("/server1", func(ctx *gin.Context) { ctx.JSON(http.StatusOK, gin
package main import ( "github.com/gin-gonic/gin" "net/http" ) func main() { route := gin.Default() route.NoRoute(func(ctx *gin.Context) { ctx.JSON(http.StatusNotFound,gin.H{ "status":http.StatusText(http.StatusNot
package main import ( "fmt" "github.com/gin-gonic/gin" "net/http" ) func getPath(ctx *gin.Context) { id := ctx.Param("id") ctx.JSON(http.StatusOK, gin.H{ "id": id, }) } func main() { router :=
工欲善其事,必先利其器。在golang项目开发中,不仅仅需要go语言的基础,第三方的库和其辅助工具也是开发的得力帮助。此系列将围绕我的研发之旅进行。 常用到的第三方库 > gin: web框架库 > gorm: 开发人员友好的ORM库 > gin-swagger: 接口文档 > logrus:日志库 > cobra:编写命令行 > vip
package validator_web import ( "errors" "github.com/gin-gonic/gin/binding" "github.com/go-playground/locales/en" "github.com/go-playground/locales/zh" ut "github.com/go-playground/universal-translator&quo
当前端请求的数据通过form表单提交时,例如向/user/search发送一个POST请求,获取请求数据的方式如下: main.go package main import ( "net/http" "github.com/gin-gonic/gin" ) func main() { r := gin.Default() r.LoadHTMLFiles("./login.html", "./index.html"
querystring指的是URL中?后面携带的参数,例如:/test?username=aaa&address=bbb。 获取请求的querystring参数的方法如下: package main import ( "net/http" "github.com/gin-gonic/gin" ) func main() { r := gin.Default() r.GET("/web", func(c *gin.Contex
gin返回html package main import ( "github.com/gin-gonic/gin" ) func main() { r := gin.Default() r.LoadHTMLFiles("index.tmpl") //解析模板 r.GET("/index", func(c *gin.Context) { //http请求 c.HTML(200, "index.tmpl",
Gin框架介绍 基于httprouter开发的Web框架。 中文文档,齐全。 简单易用的轻量级框架。 Gin框架安装 go get -u github.com/gin-gonic/gin 实例: package main import ( "fmt" "github.com/gin-gonic/gin" ) func main() { r := gin.Default() // 创建一个默认的路由引擎 /
一 直接func 1.1 外部重定向 package main import ( "github.com/gin-gonic/gin" "net/http" ) func main() { r:=gin.Default() //外部重定向 可以通过Redirect跳转到外部页面 //http.StatusMovedPermanently为状态码301 永久移动 请求的页面已永久跳转到
package main import ( "fmt" "io/ioutil" "net/http" "github.com/gin-gonic/gin" ) func get_baidu(url string) string{ client := &http.Client{} req, _ := http.NewRequest("GET", url, nil) req.Head
一 安装swag go get github.com/swaggo/swag/cmd/swag 二 安装gin-swagger go get -u github.com/swaggo/gin-swagger go get -u github.com/swaggo/gin-swagger/swaggerFiles 三 生成docs文件夹 swag init swag init一定要和main.go处于同一级目录 main程序名
1. 先自定义exporter package utils import ( "github.com/gin-gonic/gin" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/promhttp" "github.com/prometheus/common
package main import ( "github.com/gin-gonic/gin" "log" "net/http" "time" ) // ApiResponse 封装一个响应结构体 type ApiResponse struct { Code uint8 `json:"code"` Msg string `json:"msg"` Msg
skywalking 部署教程 贼简单 1、下载安装包 linux版的 https://skywalking.apache.org/downloads/ 选中distribution 选择版本 选择 es6 或者7 的进行下载 我选择了 6版本 2、 上传到服务器/server/tools apache-skywalking-apm-8.6.0.tar.gz 3、解压
先初始化下编写main文件 consulRegister := consul.NewRegistry(func(options *registry.Options) { options.Addrs = []string{ "192.168.205.22:8500", } }) //创建一个新的服务 server := micro.NewService( micro.Name("client"), micro.Registry(cons
1、命令行按照报错 直接git clone 下来到本地。 D:\Program Files\Go\src\github.com\gin-gonic\gin 2、Git报错解决:fatal: unable to access ‘https://github.com/.......‘: OpenSSL SSL_read: Connection was reset 参考网上解决办法:解除ssl验证后,再次git即可 git config --
文/朱季谦 环境准备:安装Gin与Gorm 本文搭建准备环境:Gin+Gorm+MySql。 Gin是Go语言的一套WEB框架,在学习一种陌生语言的陌生框架,最好的方式,就是用我们熟悉的思维去学。作为一名后端Java开发,在最初入门时,最熟悉的莫过于MVC分层结构,可以简单归纳成controller层,model层,dao层,而在SpringB
文章目录 背景项目简介使用环境项目结构main 主函数router 路由model 层service 层controller 层view/static 前端database 数据库util 工具类config 配置文件其他文件改进建议 背景 因为之前已经学习了 golang,所以急需一个项目来练练手,所以打算使用非常流行的 web 开发
Golang - Gin框架 Gin是一个用 Go语言编写的 web框架。它是一个类似于 martini 但拥有更好性能的API框架, 由于使用了 httprouter,速度提高了近40倍。 如果你是性能和高效的追求者, 你会爱上Gin。 一、创建工程 我们使用 Goland来完成 Gin框架的实例 创建工程时注意上图箭头标