首页 > 其他分享 >GIn入门

GIn入门

时间:2024-01-17 11:00:12浏览次数:26  
标签:github http 入门 func gin go GIn com

Gin入门

1.Gin安装

go get -u github.com/gin-gonic/gin

2. 将 gin 引入到代码中:

import "github.com/gin-gonic/gin"

2.1(可选)如果使用诸如 http.StatusOK 之类的常量,则需要引入 net/http 包:

import "net/http"

2.2 初始化 go mod

go mod init

/*
生成 go.mod 文件,此命令会在当前目录中初始化和创建一个新的go.mod文件,手动创建go.mod文件再包含一些module声明也等同该命令,而go mod init命令便是帮我们简便操作,可以帮助我们自动创建。
*/

3.简单示例 (main.go)

package main

import (
	"net/http"

	"github.com/gin-gonic/gin"
)

func main() {
	r := gin.Default()
	r.GET("/ping", func(c *gin.Context) {
		c.JSON(http.StatusOK, gin.H{
			"message": "pong",
		})
	})
	r.Run() // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080")
}

3.1 运行

go run main.go

运行 main.go 并且在浏览器中访问 127.0.0.1:8080/ping

3.2 如果需要跑在8000端口

package main

import (
	"net/http"

	"github.com/gin-gonic/gin"
)

func main() {
	r := gin.Default()
	r.GET("/ping", func(c *gin.Context) {
		c.JSON(http.StatusOK, gin.H{
			"message": "pong",
		})
	})
    r.Run(":8000") //这样就可以了
}

4 热加载

每次更新代码都需要重新启动代码,我们可以使用第三方的包来实现自动重新加载并执行

工具1(推荐)
go get github.com/pilu/fresh


工具2
go get -u github.com/codegangsta/gin

4.1 使用热加载启动服务,出现问题

pFFMWgx.png

下载 fresh 仓库最新代码


# 从github下载最新的代码
git clone https://github.com/gravityblast/fresh.git
# 或者使用码云下载
git clone [email protected]:kubernete/fresh.git
安装 fresh

# 安装fresh
go install github.com/pilu/fresh@latest
fresh运行项目名即可 (会生成一个tmp文件夹不用管)

5 GET POST PUT DELETE

package main

import (
	"net/http"

	"github.com/gin-gonic/gin"
)

func main() {
	r := gin.Default()
	r.GET("/ping", func(c *gin.Context) {
		c.JSON(http.StatusOK, gin.H{
			"message": "pong",
		})
	})
	r.POST("/post", func(c *gin.Context) {
		c.String(http.StatusOK, "我是POST,主要用于增加数据")
	})
	r.PUT("/put", func(c *gin.Context) {
		c.String(http.StatusOK, "我是PUT,主要用于修改数据")
	})
	r.DELETE("/delete", func(c *gin.Context) {
		c.String(http.StatusOK, "我是DELETE,主要用于删除数据")
	})
	r.Run(":8000") // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080")
}

标签:github,http,入门,func,gin,go,GIn,com
From: https://www.cnblogs.com/chunyouqudongwuyuan/p/17969461

相关文章

  • 软件自动化测试入门攻略
    京东购买:https://item.jd.com/14351742.html 自荐"《软件自动化测试入门攻略》一书是作者花费了近两年时间完成的一本大作,专门为入门、入行人员编写,无论你是初学者,还是想转型、转专业学习软件自动化测试,本书都适合你。书中充分考虑到新手入门自动化测试的特点,从工具学习入......
  • 出现了HTTPSConnectionPool(host=‘huggingface.co‘, port=443)错误的解决方法
    在下载huggingface模型的时候,经常会出现这个错误,HTTPSConnectionPool(host=‘huggingface.co’,port=443)。如在下载Tokenizer的时候,tokenizer=AutoTokenizer.from_pretrained("csebuetnlp/mT5_multilingual_XLSum")就会出现以上的错误HTTPSConnectionPool(host=‘hug......
  • Inserting a node at beginning,全局变量头指针【1月16日学习笔记】
    点击查看代码//insertinganodeatbeginning,全局变量头指针#include<iostream>usingnamespacestd;structnode{ intdata; node*next;};node*A;voidinsert(intx){ node*temp=newnode;//创建新节点 temp->data=x; temp->next=A;//新节点尾巴指......
  • Inserting a node at beginning,局部变量头指针版本1【1月16日学习笔记】
    点击查看代码//insertinganodeatbeginning,局部变量头指针版本1#include<iostream>usingnamespacestd;structnode{ intdata; node*next;};node*insert(intx,node*A){ node*temp=newnode;//创建新节点 temp->data=x; temp->next=A;//新节......
  • Inserting a node at beginning,局部变量头指针版本2【1月16日学习笔记】
    点击查看代码//insertinganodeatbeginning,局部变量头指针版本2#include<iostream>usingnamespacestd;structnode{ intdata; node*next;};voidinsert(intx,node**A){ node*temp=newnode;//创建新节点 temp->data=x; temp->next=*A;//新......
  • MIT 6.S081入门 lab0 操作系统环境及其配置
    MIT6.S081入门lab0操作系统环境及其配置闲话由于不是正经计算机专业出身,但是又想做Linux内核/驱动开发,因此赶在暑假实习开始前把操作系统的课程补习一下。之前自学的linux的驱动系统入门的笔记在这个寒假也会整理并发布(包括U-boot移植和驱动/应用开发入门)。实验环境Ubuntu-......
  • kettle从入门到精通 第三十一课 mysql 数据连接连接池配置
    无论开发应用程序还是做ETL研发,都离不开连接池的应用,如下是kettle中mysql连接池设置界面,今天重点讲解下连接池中的参数配置。defaultAutoCommit当defaultAutoCommit参数设置为true时,表示连接会自动提交每个单独的SQL语句,这意味着每个语句都将被当作一个独立的事务自动提交......
  • FlaskSQLAlchemy中的Pagination类型对象
    FlaskSQLAlchemy中的Pagination类型对象。一个Query对象调用paginate方法就获得了Pagination对象。paginate方法传入了两个参数,一个是当前页,另一个是每一页最多显示多少博客。paginate的返回值为代表当前页的Pagination对象。一个Paginationi对象的常用属性有:items当前页面中的......
  • C语言入门笔记-day1
    C语言笔记-第一天写一些学习的过程中一些不知道的知识点,以防后面遗忘,想起来可以再看。基础第一个C程序—main.c#include<stdio.h>intmain(){//main函数,整个项目文件的入口 printf("Hello,World!\n");//在屏幕上打印Hello,World! return0;//返回值为0......
  • C# 介绍、应用领域、入门、语法、输出和注释详解
    什么是C#?C#(发音为“C-Sharp”)是一种由Microsoft创建的面向对象的编程语言,运行在.NETFramework上。源于C家族,与流行的语言如C++和Java相近。首个版本发布于2002年,而最新版本,C#12,于2023年11月发布C#的应用领域C#广泛用于:移动应用程序桌面应用程序Web应......