热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

gin的请求和响应

gin

gin

  • 简单使用
  • index.html

简单使用

package main
import (
"net/http"
"github.com/gin-gonic/gin"
)
func rootPage(c *gin.Context) {
c.String(http.StatusOK, "hello World999!")
}
func redirectFunc(c *gin.Context) {
c.Redirect(http.StatusMovedPermanently, "http://www.jd.com")
}
func main() {
// 创建路由
r := gin.Default()
// 绑定路由规则,执行的函数
// gin.Context,封装了request和response
r.GET("/", rootPage)
r.GET("/order", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{"method": "get request"})
})
r.POST("/order", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{"method": "post request"})
})
r.PUT("/order", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{"method": "put request"})
})
r.DELETE("/order", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{"method": "delete request"})
})
// 返回json数组
r.GET("/json", func(c *gin.Context) {
type Person struct {
Name string `json:"name"`
Age int `json:"age"`
}
var personList = []Person{{"edward", 11}, {"sam", 22}, {"tom", 33}}
c.IndentedJSON(200, personList)
})
// return xml
r.GET("/xml", func(c *gin.Context) {
// 方式一:使用gin.H
// c.XML(200, gin.H{"name": "edward", "age": 19})
// 方式二:使用结构体
type Person struct {
Name string `xml:"user"`
Age int
}
var edward Person = Person{"edward", 19}
c.XML(200, edward)
})
// return yaml
r.GET("/yaml", func(c *gin.Context) {
c.YAML(200, gin.H{"name": "edward", "age": 19})
})
// 要指定模板文件的路径
r.LoadHTMLGlob("templates/*")
// r.LoadHTMLFiles("./index.html") load单个页面
r.GET("/index", func(c *gin.Context) {
c.HTML(http.StatusOK, "index.html", gin.H{
"name": "edward",
"age": 19,
})
})
// redirect
r.GET("/redirect", redirectFunc)
// 监听端口,默认在8080
// Run("里面不指定端口号默认为8080")
r.Run(":8000")
}
index.html

doctype html>
<html lang="zh-CN">
<head>
<title>indextitle>
head>
<body>
<div style="text-align:center">
<p> hello {{ . }}p>
<p> hello {{ .age }}p>
<p> hello {{ .name }}p>
div>
body>
html>

推荐阅读
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 动态规划算法的基本步骤及最长递增子序列问题详解
    本文详细介绍了动态规划算法的基本步骤,包括划分阶段、选择状态、决策和状态转移方程,并以最长递增子序列问题为例进行了详细解析。动态规划算法的有效性依赖于问题本身所具有的最优子结构性质和子问题重叠性质。通过将子问题的解保存在一个表中,在以后尽可能多地利用这些子问题的解,从而提高算法的效率。 ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • 在springmvc框架中,前台ajax调用方法,对图片批量下载,如何弹出提示保存位置选框?Controller方法 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • C# 7.0 新特性:基于Tuple的“多”返回值方法
    本文介绍了C# 7.0中基于Tuple的“多”返回值方法的使用。通过对C# 6.0及更早版本的做法进行回顾,提出了问题:如何使一个方法可返回多个返回值。然后详细介绍了C# 7.0中使用Tuple的写法,并给出了示例代码。最后,总结了该新特性的优点。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 李逍遥寻找仙药的迷阵之旅
    本文讲述了少年李逍遥为了救治婶婶的病情,前往仙灵岛寻找仙药的故事。他需要穿越一个由M×N个方格组成的迷阵,有些方格内有怪物,有些方格是安全的。李逍遥需要避开有怪物的方格,并经过最少的方格,找到仙药。在寻找的过程中,他还会遇到神秘人物。本文提供了一个迷阵样例及李逍遥找到仙药的路线。 ... [详细]
author-avatar
大爱保罗2502904621
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有