Dawn's Blogs

分享技术 记录成长

0%

Gin基本使用 (1) 概述

概述

Gin是一个由Go语言编写的高性能Web框架。

简单案例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package main

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

func sayHello(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{
"message": "Hello world!",
})
}

func main() {
// 创建一个默认的路由引擎
r := gin.Default()
// GET:请求方式;/hello:请求的路径
// 当客户端以GET方法请求/hello路径时,会执行sayHello
r.GET("/hello", sayHello)
// 启动HTTP服务,默认在0.0.0.0:8080启动服务
r.Run()
}

RESTful

REST,即Representational State Transfer,表现层状态转化。RESTful架构:

  • 每一个URL代表一种资源
  • 客户端与服务器之间,传递这种资源的某种表现层(把资源具体呈现出来的形式,叫做它的表现层)
  • 客户端通过四个HTTP动词,对服务器端资源进行操作,实现表现层状态转化:
    • GET用于获取资源
    • POST用于新建资源
    • PUT用于更新资源
    • DELETE用于删除资源

Gin框架支持开发RESTful API的开发:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
func main() {
// 创建一个默认的路由引擎
r := gin.Default()
// RESTFul风格
r.GET("/book", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{
"method": "GET",
})
})
r.POST("/book", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{
"method": "POST",
})
})
r.PUT("/book", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{
"method": "PUT",
})
})
r.DELETE("/book", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{
"method": "DELETE",
})
})
// 启动HTTP服务,默认在0.0.0.0:8080启动服务
r.Run()
}