zoukankan      html  css  js  c++  java
  • Gin框架简单使用

    Gin框架简单使用

    Gin是一个用Go语言编写的web框架。它是一个类似于martini但拥有更好性能的API框架, 由于使用了httprouter,速度提高了近40倍。 如果你是性能和高效的追求者, 你会爱上Gin

    一、Gin框架介绍

    Go世界里最流行的Web框架,Github上有52.8K+star。 基于httprouter开发的Web框架。 中文文档齐全,简单易用的轻量级框架。

    二、Gin框架安装

    下载并安装Gin:

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

    三、hello web

    package main
    
    import (
    	"github.com/gin-gonic/gin"
    	"net/http"
    )
    
    func satHelloWeb(c *gin.Context)  {
    	// c.Json:返回JSON格式的数据
    	c.JSONP(http.StatusOK, gin.H{
    		"message": "helloWeb",
    	})
    
    }
    func main() {
    
    	// 创建一个默认的路由引擎
    	r := gin.Default()
    	// GET:请求方式: /helloWeb:请求路径
    	r.GET("/helloWeb", satHelloWeb)
    	// 启动HTTP服务,默认在0.0.0.0:8080服务
    	r.Run()
    }
    
    

    将上面的代码保存并编译执行,然后使用浏览器打开127.0.0.1:8080/hello就能看到一串JSON字符串。

    image-20211109081655687

    image-20211109081705440

    四、RESTful API

    REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移”或“表现层状态转化”。

    推荐阅读阮一峰 理解RESTful架构

    简单来说,REST的含义就是客户端与Web服务器之间进行交互的时候,使用HTTP协议中的4个请求方法代表不同的动作。

    • GET用来获取资源
    • POST用来新建资源
    • PUT用来更新资源
    • DELETE用来删除资源。

    只要API程序遵循了REST风格,那就可以称其为RESTful API。目前在前后端分离的架构中,前后端基本都是通过RESTful API来进行交互。

    例如,我们现在要编写一个管理书籍的系统,我们可以查询对一本书进行查询、创建、更新和删除等操作,我们在编写程序的时候就要设计客户端浏览器与我们Web服务端交互的方式和路径。按照经验我们通常会设计成如下模式:

    请求方法 URL 含义
    GET /book 查询书籍信息
    POST /create_book 创建书籍记录
    POST /update_book 更新书籍信息
    POST /delete_book 删除书籍信息

    同样的需求我们按照RESTful API设计如下:

    请求方法 URL 含义
    GET /book 查询书籍信息
    POST /book 创建书籍记录
    PUT /book 更新书籍信息
    DELETE /book 删除书籍信息

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

    五、RESTful API 接口

    package main
    
    import (
    	"github.com/gin-gonic/gin"
    	"net/http"
    )
    
    func main() {
    	r := gin.Default()
    
    	// 获取书籍信息
    	r.GET("/book", func(c *gin.Context) {
    		c.JSON(http.StatusOK, gin.H{
    			"messages": "GET",
    		})
    	})
    
    	// 添加书记信息
    	r.POST("/book", func(c *gin.Context) {
    		c.JSON(http.StatusOK, gin.H{
    			"messages": "POST",
    		})
    	})
    
    	// 整理修改
    	r.PUT("/book", func(c *gin.Context) {
    		c.JSON(http.StatusOK, gin.H{
    			"messages": "PUT",
    		})
    	})
    
    	// 部分修改
    	r.PATCH("/book", func(c *gin.Context) {
    		c.JSON(http.StatusOK, gin.H{
    			"messages": "PATCH",
    		})
    
    	})
    
    	// 删除书籍
    	r.DELETE("/book", func(c *gin.Context) {
    		c.JSON(http.StatusOK, gin.H{
    			"messages": "DELETE",
    		})
    
    	})
    	r.Run()
    }
    
    

    开发RESTful API的时候我们通常使用Postman来作为客户端的测试工具。

    image-20211109083835230

    image-20211109083855130

    在当下的阶段,必将由程序员来主导,甚至比以往更甚。
  • 相关阅读:
    gulp + es6 + babel+ angular 搭建环境并实现简单的路由
    【SAS BASE】FORMAT Statement及PROC FORMAT
    【SAS BASE】PROC PRINT
    【SAS BASE】PROC SORT
    【SAS BASE】ARRAY语句及多变量简写
    【SAS BASE】SAS函数
    【SAS BASE】PROC CONTENTS与LABEL
    【SAS BASE】SAS格式、缺失值表示、命名规则及路径
    【SAS BASE】IMPORT过程(适用于CSV文件及其他分隔符文件)
    【SAS BASE】通过DATA步导入数据注意事项(适用于text、ASCII、sequential、flat文件)
  • 原文地址:https://www.cnblogs.com/randysun/p/15626478.html
Copyright © 2011-2022 走看看