zoukankan      html  css  js  c++  java
  • go学习-gin返回Html,json

    gin返回html

    package main
    
    import (
    	"github.com/gin-gonic/gin"
    )
    
    func main() {
    	r := gin.Default()
    	r.LoadHTMLFiles("index.tmpl") //解析模板
    
    	r.GET("/index", func(c *gin.Context) {
    		//http请求
    		c.HTML(200, "index.tmpl", gin.H{ //模板渲染
    			"title": "baidu.com",
    		})
    	})
    	r.Run(":9090") //启动server
    }
    
    

    模板
    index.tmpl

    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Hello</title>
    </head>
    <body>
        {{.title}}
    </body>
    </html>
    

    gin返回json

    package main
    
    import (
    	"net/http"
    
    	"github.com/gin-gonic/gin"
    )
    
    type message struct {
    	Name string `json:"name"`
    	Msg  string
    	Age  int
    }
    
    func main() {
    	r := gin.Default()
    	r.LoadHTMLFiles("index.tmpl") //解析模板
    
    	r.GET("/index", func(c *gin.Context) {
    		//http请求
    		//方法1:使用map
    		// data := map[string]interface{}{
    		// 	"name":    "张三",
    		// 	"message": "是个人才。",
    		// 	"age":     18,
    		// }
    		//方法2 go定义好的gin.H(相对于map)
    		data := gin.H{"name": "张三", "message": "是个人才。", "age": 18}
    		c.JSON(http.StatusOK, data)
    
    	})
    
    	r.GET("/indexstruct", func(c *gin.Context) {
    		//方法3:结构体
    		data := message{
    			"张三struct",
    			"是个人才。",
    			18,
    		}
    		c.JSON(http.StatusOK, data)
    	})
    	r.Run(":9090") //启动server
    }
    
    
    

    模板
    index.tmpl

    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Hello</title>
    </head>
    <body>
        {{.data}}
    </body>
    </html>
    
    所有博客均为自己学习的笔记。如有错误敬请理解。
  • 相关阅读:
    helloc
    传Intel镁光合资公司重启新加坡闪存芯片厂投产计划 月产能可达10万片
    关于c++ cout输出顺序问题。
    记录一次迁移Apollo Server V3的过程
    从springfox迁移到springdoc
    angular和spring boot的standalone部署
    随便总结几条委托和事件的知识点
    TCP连接的建立与断开
    开博第一天
    使用HTTP协议时判断客户端是否“在线”?
  • 原文地址:https://www.cnblogs.com/tangtang-benben/p/15173601.html
Copyright © 2011-2022 走看看