go语言gin框架的基本使用

1.首先在linux环境上安装go环境,这个网上搜搜就行

2.初始化一个go mod,网上搜搜怎么初始化

3.下面go代码的网址和端口绑定自己本机的就行

4.与另一篇CSDN一起食用,效果更好哟---> libcurl的get、post的使用-CSDN博客

Go 复制代码
package main

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

func downFile(c *gin.Context, filePath string, filename string)  {

    c.Writer.Header().Add("Content-Disposition", fmt.Sprintf("attachment; filename=%s", filename))
    c.Writer.Header().Add("Content-Type", "application/octet-stream")
    fmt.Println(filePath)
    c.File(filePath)
}


// go build -o go_gin main.go
func main() {
	var downPath *string = flag.String("down", "/tmp", "the down dir")
	flag.Parse()
	fmt.Printf("downPath = %s\n", *downPath)
	r := gin.Default()
    r.GET("/", func(c *gin.Context) {
		c.JSON(200, gin.H{
			"message": "Hello World!",
		})
	})
    
    r.GET("/ping", func(c *gin.Context) {
        c.JSON(200, gin.H{
            "message": "pong",
        })
    })
    
    r.POST("/submit", func(c *gin.Context) {
		var json struct {
			Name string `json:"name"`
			Email string `json:"email"`
		}

		if err := c.Bind(&json); err == nil {
            print("name = " + json.Name)
            print("email = " + json.Email)
			c.JSON(200, gin.H{
				"message": "JSON received",
				"name":    json.Name,
				"email":   json.Email,
			})
		} else {
			c.JSON(400, gin.H{"error": err.Error()})
		}
	})
	// 文件下载
	r.POST("/down_file", func(c *gin.Context) {
		var json struct {
			FileName string `json:"file_name"`
		}
		if err := c.Bind(&json); err == nil {
			filePath := (*downPath) + "/" + json.FileName
			downFile(c, filePath, json.FileName)
		}
		
	})
    
    r.Run("10.74.37.146:9999") // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080")
}
相关推荐
今天也想MK代码31 分钟前
rust编程实战:实现3d粒子渲染wasm
开发语言·rust·wasm
结衣结衣.40 分钟前
【Qt】自定义信号和槽函数
开发语言·c++·qt·c++11
丶重明1 小时前
【Go每日一练】返回切片中的最大值和最小值
算法·golang
尘鹄1 小时前
一文讲懂Go语言如何使用配置文件连接数据库
开发语言·数据库·后端·golang
qq_433554541 小时前
C++ 二叉搜索树代码
开发语言·c++·算法
好看资源平台1 小时前
手写识别革命:Manus AI如何攻克多语言混合识别难题(二)
开发语言·人工智能·php
Hopebearer_2 小时前
vue3中ref和reactive的区别
开发语言·前端·javascript·vue.js·前端框架·ecmascript
lly2024062 小时前
CentOS Docker 安装指南
开发语言
我命由我123452 小时前
Java Maven 项目问题:com.diogonunes:JColor:jar:5.5.1 was not found in...
java·开发语言·java-ee·maven·intellij-idea·jar·intellij idea
烂蜻蜓3 小时前
深入理解 HTML 元素:构建网页的基础
开发语言·前端·css·html·html5