Gin框架快速入门1

Gin框架介绍

gin是通过Go编写的Web框架,性能和高效都很有优势。它是Go的web框架中最流行的,基于httprouter开发的。中文文档齐全,简单易用的轻量级框架。

Gin框架环境搭建

下载和安装Gin:

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

将gin引入到代码中

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

如果使用http.StatusOK之类的常量,则需要引入net/http

import "net/http"

Gin使用体会

package main

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

func sayHello(c *gin.Context) {

	//返回JSON类型的数据
	c.JSON(http.StatusOK, gin.H{
		"message": "Hello world",
	})
}

func main() {

	//创建一个默认的路由引擎
	r := gin.Default()
	//GET请求方式   /hello:路由
	//当客户端以GET方式请求/hello路径时,会执行后面的匿名函数
	r.GET("/hello", sayHello)

	//启动HTTP服务,默认在127.0.0.1:8080启动服务
	r.Run("localhost:9090")

}

golang程序的热加载

        所谓热加载就是当我们对代码进行修改时,程序能够自动重新加载并执行,这在我们开发中是非常便利的,可以快速进行代码测试。

        beego中我们可以使用官方的bee工具进行热加载项目,gin中没有官方提供的加载工具,我们需要借助第三方工具。

        1.https://github.com/gravityblast/fresh

           go get github.com/pilu/fresh

           fresh

        2.https://github.com/codegangsta/gin

            go get -u github.com/codegangsta/gin

            gin run main.go

     Gin框架中的路由

路由的简述:

        路由(routing)是一个URL(路径)和一个特定http方法(GET、POST、PUT、DELETE)组成的,涉及到应用如何响应客户端对某个网站节点的访问。

RESTful API

        RESTful API是目前比骄傲成熟的一套互联网应用程序的API设计理念,所以我们设计我们的路由的时候建议参考RESTful API.

        RESTful架构中,每一个网址代表一种资源,不同的请求方式表示执行不同的操作。

GET(select) 从服务器获取资源(一项或者多项)
POST(CREATE) 在服务器新建一个资源
PUT(UPDATE) 在服务器更新资源(客户端提供改变后的资源)
DELETE(DELETE) 从服务器删除资源

简单的路由配置

当用GET请求访问一个网页的时候,做什么事情:

当用POST访问一个页面的时候,做什么事情:

当用PUT访问一个页面的时候,做什么事情:

当用DELETE访问一个页面的shih,做什么事情:

package main

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

func main() {

	//创建一个默认的路由引擎
	r := gin.Default()

	//GET请求
	r.GET("/index", func(c *gin.Context) {
		c.String(http.StatusOK, "Get")
	})
	//POST请求
	r.POST("/index", func(c *gin.Context) {
		c.String(http.StatusOK, "POST请求")
	})
	//PUT请求
	r.PUT("index", func(c *gin.Context) {
		c.String(http.StatusOK, "PUT请求")
	})
	//DELETE请求
	r.DELETE("index", func(c *gin.Context) {
		c.String(http.StatusOK, "DELETE请求")
	})

	//启动HTTP服务,默认在127.0.0.1:8080启动服务
	r.Run("localhost:9090")

}

   路由里面获取Get传值

http://localhost:9090/index?username=干饭小白

Gin框架快速入门1_第1张图片

 动态路由

http://localhost:9090/index/abc

   Gin框架快速入门1_第2张图片

c.String() c.JSON() c.JSONP() c.XML() c.HTML()

Gin框架快速入门1_第3张图片

 

 

你可能感兴趣的:(Golang,http,服务器,golang)