Gin 学习笔记01-数据返回

Gin 数据返回

  • 1、返回 string 和 json
  • 2、返回 xml 和 ymal
  • 3、返回html
  • 4、重定向

1、返回 string 和 json

  • c.String()
  • c.JSON()
package mainimport ("github.com/gin-gonic/gin""net/http"
)func getJSON(c *gin.Context) {//c.String(http.StatusOK, "小明")//c.JSON(http.StatusOK, gin.H{"name": "小明", "age": 18})//type User struct {//	Name string//	Age  int//}// 自定义返回的字段名成//type User struct {//	Name string `json:"name"`//	Age  int    `json:"age"`//}// 如果不想让某个字段返回可以使用 “-”type User struct {Name     string `json:"name"`Age      int    `json:"age"`Password string `json:"-"`}user := User{"小明", 18, "123123"}c.JSON(http.StatusOK, user)
}func main() {router := gin.Default()router.GET("/getJSON", getJSON)router.Run(":9000")
}

2、返回 xml 和 ymal

  • c.XML()
  • c.YAML()
package mainimport ("github.com/gin-gonic/gin""net/http"
)func getXML(c *gin.Context) {c.XML(http.StatusOK, gin.H{"name": "小明", "age": 18})
}func getYAML(c *gin.Context) {c.YAML(http.StatusOK, gin.H{"name": "小明", "age": 18})
}func main() {router := gin.Default()router.GET("/getXML", getXML)router.GET("/getYAML", getYAML)router.Run(":9000")
}

3、返回html

  • router.LoadHTMLGlob()
  • router.StaticFS()
  • router.StaticFs()
package mainimport ("github.com/gin-gonic/gin""net/http"
)func getHtml(c *gin.Context) {c.HTML(http.StatusOK, "index.html", gin.H{"name": "小明"})
}func main() {router := gin.Default()// 全局加载router.LoadHTMLGlob("template/*")// 加载目录router.StaticFS("/static", http.Dir("static/static"))// 加载静态文件router.StaticFile("/login.jpg", "static/login.jpg")router.GET("/getHtml", getHtml)router.Run(":9000")
}

4、重定向

  • c.Redirect()
package mainimport ("github.com/gin-gonic/gin""net/http"
)func direct(c *gin.Context) {c.Redirect(http.StatusMovedPermanently, "http://www.baidu.com")
}func main() {router := gin.Default()router.GET("/redirect", direct)router.Run(":9000")
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/170035.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

紧急救援【Dijkstra】

作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图。在地图上显示有多个分散的城市和一些连接城市的快速道路。每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上。当其他城市有紧急求助电话给你的时候,你的任务是带领你的…

图书管理系统源码,图书管理系统开发,图书借阅系统源码SqlHelper数据库访问操作方法简述

SqlHelper 是封装了数据库操作方法的类库,使用它我们可以链接数据库操作数据库表数据增删改查,其中主要SqlConnection ,ExecuteNonQuery,ExecuteScalar,ExecuteDataTable四个主要方法SqlConnection负责根据访问配置文件web.config中connstr链接数据库字符串去打开数据库,…

电机应用-直流有刷电机多环控制实现

目录 直流有刷电机多环控制实现 硬件设计 直流电机三环(速度环、电流环、位置环)串级PID控制-位置式PID 编程要点 配置ADC可读取电流值 配置基本定时器6产生定时中断读取当前电路中驱动电机的电流值并执行PID运算 配置定时器1输出PWM控制电机 配…

图书管理系统源码,图书管理系统开发,图书借阅系统源码二表字段注释说明

图书管理系统源码数据库表设计说明 数据库名:TuShuManger 用户管理员表 表名:AdminUser 序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空 默认值 说明 1 Id int 4 0 是 是 否 2 username nvarchar 0 0 是 用户名 3 password nvarchar 0 0 是 密码 4 qq nvarchar 0 0…

【Mybatis】基础增删改查

一.创建SpringBoot项目 创建新项目需要添加的依赖 当然如果是以前的项目也可以直接在pom.xml文件中添加依赖: MySQL Driver依赖 <dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><scope>runtime</…

基于vue+element-plus+echarts编写动态绘图页面

我们都知道网页的echarts可以画图&#xff0c;但是很多情况下都需要编码实现绘图逻辑&#xff0c;如果有一个前端页面可以让我输入数据然后动态生成图表的话那么该多好&#xff0c;其实这个需求不难实现&#xff0c;先看效果。 整体页面分为左右两个部分&#xff0c;其中左边的…

Node.js入门指南(二)

目录 http模块 创建http服务端 浏览器查看 HTTP 报文 获取 HTTP 请求报文 设置响应报文 网页资源的基本加载过程 静态资源服务 hello,大家好&#xff01;上一篇文章我们对Node.js进行了初步的了解&#xff0c;并介绍了Node.js的Buffer、fs模块以及path模块。这一篇文章主…

计算机毕业设计 基于SpringBoot的物业管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

2001-2022年上市公-供应链话语权测算数据(原始数据+处理代码Stata do文档+结果)

2001-2022年上市公-供应链话语权测算数据&#xff08;原始数据处理代码Stata do文档结果&#xff09; 1、时间&#xff1a;2001-2022年 2、指标&#xff1a;企业代码、股票代码、年份、股票简称、上市公司前五大供应商的采购额之和占企业当年总采购额的比例、上市公司前五大客…

vue-element-ui学习教程

Vue Element Admin Vue Element Admin

C语言猜素数(ZZULIOJ1292:猜素数)

题目描述 Lx给Xp出了一道难题&#xff0c;随便在0和1000000之间抽出两个数&#xff0c;估计在这两个数之间的素数的个数&#xff0c;如果猜测的结果和正确结果一样&#xff0c;Xp就可以得到Lx的一件礼物&#xff0c;你能猜对吗&#xff1f;编程实现一下吧&#xff01; 输入&…

​root账号登录群晖NAS教程​

用WinSCPPuTTY以root账号登录群晖NAS保姆教程用WinSCPPuTTY可SecureCRT 以root账号登录群晖NAS 1、先用自己的用户名 密码登陆。 2、切换到root权限 输入sudo -i,按回车,然后也是输入群辉登录的密码。成功之后,显示$ 变成 #号

Kafka(一):在WSL单机搭建Kafka伪集群

目录 1 运行Kafka单实例1.1 Windws1.1.1 安装包下载1.1.2 修改环境变量1.1.3 修改配置文件1.1.4 启动Kafka单机版 1.2 Linux1.2.1 安装包下载1.2.2 创建目录1.2.3 添加环境变量1.2.4 修改配置文件1.2.5 运行Kafka1.2.6 停止Kafka 2 搭建Kafka集群2.1 搭建Zookeeper集群2.2 搭建…

Python基于jieba+wordcloud实现文本分词、词频统计、条形图绘制及不同主题的词云图绘制

目录 序言&#xff1a;第三方库及所需材料函数模块介绍分词词频统计条形图绘制词云绘制主函数 效果预览全部代码 序言&#xff1a;第三方库及所需材料 编程语言&#xff1a;Python3.9。 编程环境&#xff1a;Anaconda3&#xff0c;Spyder5。 使用到的主要第三方库&#xff1a;…

计算机中由于找不到vcruntime140.dll无法继续执行代码无法打开软件怎么解决分享

关于如何解决vcruntime140.dll无法继续执行代码的6个教程。在这个科技日新月异的时代&#xff0c;电脑已经是我们日常和工作中必不可少的电子产品&#xff0c;然后我们在使用过程中经常会遇到不一样的问题&#xff0c;比如vcruntime140.dll文件丢失&#xff0c;那么vcruntime14…

成品日志函数

1、可以选择显示时间、日期时间、不显示时间和日期 2、要养成使用define简化代码和当开关的习惯 #include <iostream> #include <fstream> #include <chrono> #include <ctime> #include <cstdarg> #include <sstream> #include <thr…

Java特殊文件

Properties 读取数据 package com.itheima.d1;import java.io.FileNotFoundException; import java.io.FileReader; import java.nio.charset.StandardCharsets; import java.util.Properties; import java.util.Set;public class Test1 {public static void main(String[] arg…

Handler系列-怎么实现delay

1.前提 前面说到sendMessage携带的delay会被加上SystemClock.uptimeMillis() &#xff0c;最终赋值给Message的when。 msg.when SystemClock.uptimeMillis() delayMillis; 那么when除了用来在链表里面作为排序依据以外&#xff0c;还在哪里用到了呢&#xff1f; 2.Looper…

【SpringCloud】设计原则之分层架构与统一通信协议

一、设计原则之分层架构 应用分层看起来很简单&#xff0c;但每个程序员都有自己的一套方法&#xff0c;哪怕是初学者&#xff0c;所以实施起来并非易事 最早接触的分层架构应该是最熟悉的 MVC&#xff08;Model - View - Controller&#xff09;架构&#xff0c;其将应用分成…

吴恩达《机器学习》10-4-10-5:诊断偏差和方差、正则化和偏差/方差

一、诊断偏差和方差 在机器学习中&#xff0c;诊断偏差和方差是改进模型性能的关键步骤。通过了解这两个概念&#xff0c;能够判断算法的问题究竟是欠拟合还是过拟合&#xff0c;从而有针对性地调整模型。 1. 概念理解 偏差&#xff08;Bias&#xff09;&#xff1a; 表示模…