当前位置:首页 > 其他 > go语言之gin框架初尝试

go语言之gin框架初尝试

原创 2020-04-27 其他 633
分享给朋友:

对于Webservice服务,几乎所有的企业都在使用restful风格的API。Gin也天然的支持restful。gin框架虽然不大,但是功能却不少。

首先先配置好go环境,针对不同系统go的配置环境可能不一样,具体可以参考 https://blog.51cto.com/11293981/2417803

配置好后通过 go env 检查配置环境是否正常

博主配置的go相应目录如下:

QQ截图20200427141712.png

记得把Go\bin加入到Path变量中

理想状态下,所有的安装、下载、依赖都是在顺畅的网络下,因为很多资源链接都在国外,一般情况下是需要梯子的,你懂的~

然后安装gin,在命令行中输入

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

安装好后,gin相关文件会出现在 $GOPATH\src 目录下

例如我安装完后出现以下文件夹

QQ截图20200427141602.png

然后在mygo项目下新建 main.go 

写上代码

// main
package main

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

func main() {
	r := gin.Default()
	r.GET("/ping", func(c *gin.Context) {
		c.JSON(200, gin.H{
			"message": "get success",
		})
	})
	r.Run()
}

然后在命令行中执行

go run main.go

如果是在windows下,在弹出询问框中的是否允许网络访问记得点击确定

然后在浏览器中访问 127.0.0.1/8080/ping [8080是默认端口,如果需要其他端口,可以在最后一行改成 r.Run(":8081"),则变成8081端口访问]

QQ截图20200427142318.png

接着加上restful的写法

// main
package main

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

func main() {
	r := gin.Default()
	r.GET("/ping", func(c *gin.Context) {
		c.JSON(200, gin.H{
			"message": "get success",
		})
	})
	r.POST("/ping", func(c *gin.Context) {
		c.JSON(200, gin.H{
			"message": "post success",
		})
	})
	r.PUT("/ping", func(c *gin.Context) {
		c.JSON(200, gin.H{
			"message": "put success",
		})
	})
	r.DELETE("/ping", func(c *gin.Context) {
		c.JSON(200, gin.H{
			"message": "delete success",
		})
	})
	r.Run()
}

利用postman等工具用不同的method方式访问,则会得到不同的response


声明:版权所有,违者必究 | 如未注明,均为原创 | 本网站采用 BY-NC-SA 协议进行授权

转载:转载请注明原文链接,违者必究 - :https://www.wolfcode.net/info/183/

分享给朋友:

相关文章

gocron数据库表和字段字符集转换为utf8mb4

gocron_sql_convert_to_utf8mb4因为 gocron - 定时任务管理系统 默认表和字段字符集是utf8(也就是utf8mb3),所以在现下很多数据存储会有问题,最为突出的就是emoji表情写了一个简单的转换sql:git地址 有用到的小伙伴可以拿去直接转换

为集群搭建一个定时任务集中调度系统

集群任务下,很多服务器的定时任务都单独集中在相对应的服务器crontab下,即使现在有了类似于宝塔之类的面板,但是定时任务还是得每台服务器单独登入后去配置。是否可以单独在一台机子上,控制所有的集群定时任务呢?答案是肯定的!!!gocron就可以做到,之前博主分享过单机搭建定时任务管理系统,那现在,我

Linux 日志清理

磁盘占用90%,占用过多,分析日志查看原因

如何在Linux上做一个定时任务管理系统

gocron,使用Go语言开发的轻量级定时任务集中调度和管理系统, 用于替代Linux-crontab

Nginx 自动生成日志备份

Nginx网站访问日志数据会随着访问量的增加而日益庞大,以下介绍一个简单的脚本,自动切割备份过往日期日志数据

3月18日,多年的老站终于破了1.5W的PV

从最早的建站初心是为了自己方便,从fivefilm.com到30942.com,有网友说域名不好记,索性注册了看个蛋(kangedan.com)的域名。6年多的时间(我也是随性等得起)0推广,纯自然流量!今天看了下PV记录,有点被吓到!特别纪念一下,之前都是几千IP,封顶也没超过1.5W。

如果你懂得用Excel,微软Power Fx助你成为一名优秀的程序员

在程序员的世界中,打开第一扇门永远是Hello World!这是Power Fx的一段最基础的语法。微软宣布推出新的开源编程语言 Power Fx,一种基于 Microsoft Excel 的低代码公式语言;将可以在整个 Microsoft Power Platform 中进行使用。该语言背后的动机

微软推出Go语言从入门到上手的文档

微软有自己的技术文档专栏网站,可能很多小伙伴都不知道!除了自己的.NET语言,还包括了市面上绝大多数流行语言的技术文档都有。这次,微软把Go语言也加入到了自家技术文档网站中,而且绝大多数文档都是有中文版本的!点击直接访问:更多文档访问以下地址:https://docs.microsoft.com/z

Deno初体验:一个简单的MVC案例

Deno 是一个 JavaScript/TypeScript 的运行时,默认使用安全环境执行代码,有着卓越的开发体验。Deno 含有以下功能亮点:

【年度重磅】阿里淘系全年技术总结黑皮书,1500页免费下载!

淘系技术将2020一整年的精华内容梳理合并,重磅推出【淘系技术2020技术年货】。在这本书中,你将看到:各技术栈下时新前沿的技术讲解与方法技巧、淘系技术大牛的职场成长经验&学习问答实录、年度精选技术人员必读书单、淘系经典开源项目介绍、2020淘系顶会 paper 全文。