我是靠谱客的博主 害怕水蜜桃,最近开发中收集的这篇文章主要介绍gin框架-1请求参数的示例:,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

gin框架-1请求参数的示例:

package main

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

//路由参数的请求的方式:
func request1() {

	engine := gin.Default() //创建一个默认的路由引擎
	//配置路由
	engine.GET("/", func(c *gin.Context) {
		c.JSON(http.StatusOK, gin.H{ //返回json格式的数据
			"msg":  "Hello,world!",
			"flag": true,
		})

	})

	//域名/news?id=999  :调用方式
	//http://127.0.0.1:9999/news?id=9999
	//http://127.0.0.1:9999/news?id=9999&name="tom"
	engine.GET("/news", func(c *gin.Context) {
		id := c.Query("id")

		name := c.Query("name")

		c.String(http.StatusOK, "id=%s,name=%s", id, name)

	})

	//动态路由设置,调取方式: 域名/user/9999
	//http://127.0.0.1:9999/user/9999
	engine.GET("/user/:uid", func(c *gin.Context) {
		uid := c.Param("uid")
		c.String(http.StatusOK, "userid=%s", uid)

	})

	//启动http服务,默认在0.0.0.0:8080启动服务
	engine.Run(":9999")

}

//返回值的形式
func request2() {

	engine := gin.Default()            //创建一个默认的路由引擎
	engine.LoadHTMLGlob("templates/*") //加载html网页的数据信息,为返回html使用的

	//配置路由
	engine.GET("/", func(c *gin.Context) {
		c.JSON(http.StatusOK, gin.H{ //1.返回json格式的数据
			"msg":  "Hello,world!",
			"flag": true,
		})

	})

	//#######################################

	engine.GET("/jsonp", func(c *gin.Context) {
		data := map[string]interface{}{
			"datalist": "my is goheper",
		}

		c.JSONP(http.StatusOK, data)

	})

	//#######################################
	//返回 XML 数据

	engine.GET("/xml11", func(c *gin.Context) {
		c.XML(http.StatusOK, gin.H{
			"msg":  "hello",
			"flag": true,
		})

	})

	//#######################################

	//返回 XML 数据--2使用结构体

	engine.GET("/xml2", func(c *gin.Context) {

		type MessageRecord struct {
			Name    string
			Message string
			Age     int
		}

		var msg MessageRecord
		msg.Name = "is tom"
		msg.Age = 50
		msg.Message = "Hello gin !"

		c.XML(http.StatusOK, msg)

	})
	//#######################################
	engine.GET("/xml", func(c *gin.Context) {
		c.XML(http.StatusOK, gin.H{
			"msg":  "hello",
			"flag": true,
		})

	})

	//#######################################

	//	//http://127.0.0.1:9999/json
	engine.GET("/json", func(c *gin.Context) {
		var msg struct { //使用结构体,返回结构体
			Name    string `json:"user"`
			Message string
			Age     int
		}

		msg.Name = "xx学golang"
		msg.Message = "来自gin的问候"
		msg.Age = 50

		c.JSON(http.StatusOK, msg)

	})
	//#######################################
	//域名/news?id=999  :调用方式
	//http://127.0.0.1:9999/news?id=9999
	//http://127.0.0.1:9999/news?id=9999&name="tom"
	engine.GET("/news", func(c *gin.Context) {
		id := c.Query("id")

		name := c.Query("name")

		c.String(http.StatusOK, "id=%s,name=%s", id, name) //2.返回字符串方式

	})

	//#######################################

	//动态路由设置,调取方式: 域名/user/9999
	//http://127.0.0.1:9999/user/9999
	engine.GET("/user/:uid", func(c *gin.Context) {
		uid := c.Param("uid")
		c.String(http.StatusOK, "userid=%s", uid)

	})

	//############返回html方式###########################
	//	返回html方式:
	engine.GET("/html", func(c *gin.Context) {
		c.HTML(http.StatusOK, "/default/index.html", map[string]interface{}{
			"title": "web网站首页",
		})

	})

	//#######################################

	//启动http服务,默认在0.0.0.0:8080启动服务
	engine.Run(":9999")

}

func main() {

	/*
		主要是路由的请求地址方式以及返回值方式的示例:

	*/
	路由参数的请求的方式:
	//request1() //call示例1

	路由返回值的方式:
	request2() //call示例2

}

最后

以上就是害怕水蜜桃为你收集整理的gin框架-1请求参数的示例:的全部内容,希望文章能够帮你解决gin框架-1请求参数的示例:所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部