Gin框架快速入门1

简介: 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=干饭小白

动态路由

http://localhost:9090/index/abc

 

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

 

相关文章
|
SQL 关系型数据库 MySQL
gin框架学习-Gorm入门指南
Snake Case命名风格,就是各个单词之间用下划线(_)分隔,首字母大写区分一个单词,例如: CreateTime的Snake Case风格命名为create_time
739 0
gin框架学习-Gorm入门指南
|
5月前
|
开发框架 JSON 中间件
Go语言Web开发框架实践:使用 Gin 快速构建 Web 服务
Gin 是一个高效、轻量级的 Go 语言 Web 框架,支持中间件机制,非常适合开发 RESTful API。本文从安装到进阶技巧全面解析 Gin 的使用:快速入门示例(Hello Gin)、定义 RESTful 用户服务(增删改查接口实现),以及推荐实践如参数校验、中间件和路由分组等。通过对比标准库 `net/http`,Gin 提供更简洁灵活的开发体验。此外,还推荐了 GORM、Viper、Zap 等配合使用的工具库,助力高效开发。
|
存储 jenkins 持续交付
Jenkins X 官方介绍
Jenkins X 简介 Jenkins X 为云上的开发人员自动化并加速了持续集成和持续交付,因此他们可以专注于构建出色的软件。
|
JavaScript Windows
Win7内网安装高版本的Node方法,亲测有效node-v16.16.0
Win7内网安装高版本的Node方法,亲测有效node-v16.16.0
2420 1
|
5月前
|
SQL 数据库连接 Go
Go语言数据库编程:GORM 的基本使用
GORM 是 Go 语言最流行的 ORM 框架,封装了 database/sql,支持自动迁移、关联关系、事务等功能,开发体验接近高层语言的 ORM。本文介绍了 GORM 的安装与初始化、模型定义、自动迁移、基本 CRUD 操作、条件构造器、钩子函数、事务处理、日志调试等内容,帮助开发者快速掌握其使用方法。
|
负载均衡 安全 网络协议
DDOS攻击与防护
DDoS攻击通过大量合法请求占用目标服务器资源,导致正常用户无法访问。常见类型包括洪水攻击(如SYN Flood和UDP Flood)和放大攻击。其危害包括服务中断、经济损失及数据泄露。防护措施涵盖网络层面(流量清洗、带宽扩容、负载均衡)、系统层面(优化配置、安装防护软件、更新补丁)和应用层面(验证码、限速策略、动态IP封禁)。
2127 2
|
安全 Java 测试技术
Windows电脑安装Apache JMeter的详细教程
本文介绍了在Windows上安装Apache JMeter的步骤。首先,需确保安装Java JDK并配置环境变量。然后,从JMeter官网下载ZIP文件,解压至指定目录,并同样配置JMeter的环境变量。验证安装成功后,可通过命令行以GUI或非GUI模式启动JMeter,进行性能测试。
|
JSON Go API
使用Go语言和Gin框架构建RESTful API:GET与POST请求示例
使用Go语言和Gin框架构建RESTful API:GET与POST请求示例
|
存储 Go PHP
Go的切片:长度和容量
Go的切片:长度和容量