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")
}相关文章:
Gin 学习笔记01-数据返回
Gin 数据返回 1、返回 string 和 json2、返回 xml 和 ymal3、返回html4、重定向 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, &qu…...
【AI考证笔记】NO.1人工智能的基础概念
目录 一、什么是智能 1.什么是智能 2.智能的种类 二、什么是人工智能 1.人工智能之父——图灵 2.人工智能的定义 三、人工智能的发展阶段 四、哪些工作要被淘汰掉? 以下部分内容来自于百度智能云人才认证培训讲义,腾讯等也有人工智能类似的讲义&…...
【Exception】npm ERR! code UNABLE_TO_GET_ISSUER_CERT_LOCALLY
Talk is cheap, show me the code. 环境 | Environment kversionOSwindows 11nodev18.14.2npm9.5.0 报错日志 | Error log >npm create vitelatest Need to install the following packages:create-vite5.0.0 Ok to proceed? (y) y npm ERR! code UNABLE_TO_GET_ISSUER_…...
持续集成交付CICD:GitLabCI 通过trigger触发流水线
目录 一、理论 1.GitLabCI 二、实验 1.搭建共享库项目 2.GitLabCI 通过trigger触发流水线 三、问题 1.项目app02未触发项目app01 2.GitLab 报502网关错误 一、理论 1.GitLabCI (1) 概念 GitLab CI(Continuous Integration)是一种持续集成工具…...
Java 多线程中的sleep()和wait()方法的区别
Java 多线程中的sleep()和wait()方法的区别 1、相同点 sleep()和wait()都可以暂停线程的执行。 2、不同点 所在类不同 sleep()是Thread类的静态方法。 wait()是Object类的方法。 锁释放不同 sleep()是不释放锁的。 wait()是释放锁的。 用途不同 sleep()常用于一定时间内暂停…...
车载以太网-数据链路层-VLAN
文章目录 车载以太网VLAN(Vehicle Ethernet VLAN)车载以太网VLAN帧格式VLAN帧报文VLAN帧报文示例车载以太网VLAN(Vehicle Ethernet VLAN) 车载以太网VLAN(Vehicle Ethernet VLAN)是一种在车辆网络中使用的虚拟局域网技术。它允许在车载以太网网络中创建多个逻辑网络,从…...
【Vue】filter的用法
上一篇: vue的指令 https://blog.csdn.net/m0_67930426/article/details/134599378?spm1001.2014.3001.5502 本篇所使用指令 v-for v-on v-html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"&…...
python web项目导包规范
python web项目导包规范 python 内置的模块通过第三方库安装的模块框架自身提供的模块用户自己定义的模块 如: from __future__ import absolute_import, unicode_literalsfrom debug_toolbar.panels import Panelfrom django.utils.translation import ugettext_…...
AtCoder Beginner Contest 330 题解
目录 A - Counting PassesB - Minimize Abs 1C - Minimize Abs 2D - Counting LsE - Mex and Update A - Counting Passes 原题链接 题目描述 给定N个数和一个整数L,输出大于等于L的数的个数。 public static void solve() throws IOException{int n readInt(), m…...
论文速读《DeepFusion: Lidar-Camera Deep Fusion for Multi-Modal 3D Object Detection》
概括主要内容 文章《DeepFusion: Lidar-Camera Deep Fusion for Multi-Modal 3D Object Detection》提出了两种创新技术,以改善多模态3D检测模型的性能,通过更有效地融合相机和激光雷达传感器数据来提高对象检测的准确性,尤其是在行人检测方面…...
关于前端处理后端轮询的操作 (总结)
使用场景:前端首次发起请求获取数据,若失败则每隔1s发起一次知道成功获取数据为止解决方案: 使用轮询操作,涉及定时器的使用和关闭 (使用vue2代码为例) data() {return {pollingResult_en: null, // 处理轮询结果bizI…...
【SpringCloud】设计原则之单一职责与服务拆分
一、设计原则之单一职责 设计原则很重要的一点就是简单,单一职责也就是所谓的专人干专事 一个单元(一个类、函数或微服务)应该有且只有一个职责 无论如何,一个微服务不应该包含多于一个的职责 职责单一的后果之一就是职责单…...
UDP分片和丢包与TCP效果对比
UDP 分片 与 丢包,UDP 真的比 TCP 高效吗? UDP(用户数据报协议)和TCP(传输控制协议)在很多方面都有显著的区别。总体来说,TCP更适合需要可靠传输的应用,例如网页浏览、电子邮件等&a…...
Inport 模块
文章目录 Interpolate datainport 模块存在于模型最顶层Port Dimension 和 Variable-size signal Interpolate data Interpolate data:当将 Workspace 的数据导人模型时, 对没有对应数据点的采样时刻进行线性插值的开关选项。 inport 模块存在于模型最顶层 inpo…...
Deep Learning for Monocular Depth Estimation: A Review.基于深度学习的深度估计
传统的深度估计方法通常是使用双目相机,计算两个2D图像的视差,然后通过立体匹配和三角剖分得到深度图。然而,双目深度估计方法至少需要两个固定的摄像机,当场景的纹理较少或者没有纹理的时候,很难从图像中捕捉足够的特…...
点云从入门到精通技术详解100篇-基于深度学习的稀疏点云障碍物检测(续)
目录 3.1 连续帧点云空间特征融合 3.1.1 点云预处理 3.1.2 地面分割 3.1.3 自适应点云聚类...
使用VSCode+PlatformIO搭建ESP32开发环境
Arduino IDE本来就是为创客们开发的,虽然没代码提示功能,文件的关系也不清晰,函数不能跳转,头文件也打不开,但人家的初衷就是为了简单而生的;但还是有一些同学喜欢高级点的IDE,也没问题…...
使用flask返回json格式的数据
Flask Flask是一个使用Python编写的轻量级Web框架,它的设计理念是保持简单、灵活和易扩展。它的核心是Werkzeug和Jinja2,并且它本身只提供了非常基础的Web框架功能,例如路由和请求处理等。 使用Flask可以快速创建一个Web应用程序,…...
如何排查java 内存溢出OutOfMemoryError?
当使用Spring Boot进行文件上传时,文件会被读取到内存中进行处理。如果上传的文件较大,会占用大量的内存空间,从而导致内存溢出(OutOfMemory)问题。以下是一些建议的排查方案: 调整 JVM 内存设置ÿ…...
Prometheus环境搭建和认识
Prometheus 环境搭建 1.prometheus 简介 Prometheus是基于go语言开发的一套开源的监控、报警和时间序列数据库的组合,是由SoundCloud公司开发的开源监控系统,Prometheus于2016年加入CNCF(Cloud Native Computing Foundation,云原生计算基金…...
WechatDecrypt:3步解锁你的加密微信聊天记录
WechatDecrypt:3步解锁你的加密微信聊天记录 【免费下载链接】WechatDecrypt 微信消息解密工具 项目地址: https://gitcode.com/gh_mirrors/we/WechatDecrypt 你是否曾因误删重要聊天记录而懊恼?是否想备份珍贵对话却无从下手?微信聊天…...
《Hermes Agent 代码库安全漏洞分析与解决办法》
Hermes Agent 代码库安全漏洞分析与解决办法 Hermes Agent 作为跨平台自改进型 AI 智能体框架,涉及配置管理、多端通信、工具调用、容器部署等核心环节,以下从配置安全、部署安全、代码执行风险、数据隐私、网络通信、依赖管理、权限控制七大维度&#x…...
Flutter 三方库 serial 的鸿蒙化适配指南—如何在在鸿蒙系统上构建极致、稳定的 Web 串口通信与工业硬软连接实战
在工业数字化、设备物联网化、产线可视化运维的场景里,串口通信依然是最基础、最稳定、最具成本优势的设备连接方式之一。无论是 PLC、仪器仪表、扫码枪、称重模块,还是自定义 MCU 控制板,大量设备仍通过 UART/USB-Serial 与上位系统交换数据…...
Matlab散点图进阶:scatter函数参数详解与实战代码解析
1. scatter函数基础:从零开始绘制散点图 第一次接触Matlab的scatter函数时,我被它强大的定制能力惊艳到了。这个看似简单的绘图工具,实际上藏着无数让数据可视化的魔法。让我们从一个最基本的例子开始: x randn(100,1); % 生成1…...
避坑指南:STM32与LD3320语音模块串口通信的3个常见问题与解决方案
STM32与LD3320语音模块串口通信实战避坑指南 1. 硬件连接与初始化配置 第一次接触STM32与LD3320语音模块的串口通信时,硬件连接看似简单却暗藏玄机。不少开发者按照常规思路连接后,发现模块毫无反应,这时候往往需要从最基础的硬件配置开始排查…...
D3KeyHelper暗黑3宏工具:游戏自动化终极指南与高效战斗秘籍
D3KeyHelper暗黑3宏工具:游戏自动化终极指南与高效战斗秘籍 【免费下载链接】D3keyHelper D3KeyHelper是一个有图形界面,可自定义配置的暗黑3鼠标宏工具。 项目地址: https://gitcode.com/gh_mirrors/d3/D3keyHelper 想要在暗黑破坏神3中实现技能…...
AI编程革命:Codex自动化脚本实战指南
技术文章大纲:告别重复造轮子——Codex写脚本的高效实践核心主题通过OpenAI Codex等AI编程工具自动化生成脚本,减少重复开发工作,提升效率。理解Codex的能力与限制Codex是基于GPT-3的代码生成模型,擅长根据自然语言描述生成Python…...
如何快速掌握GEMMA:基因组关联分析的完整指南与实战技巧
如何快速掌握GEMMA:基因组关联分析的完整指南与实战技巧 【免费下载链接】GEMMA Genome-wide Efficient Mixed Model Association 项目地址: https://gitcode.com/gh_mirrors/gem/GEMMA 如果你正在寻找一款能够高效处理基因组关联分析的软件,那么…...
B站爬虫实战:手把手教你破解w_rid签名与oid参数(附完整Python代码)
B站数据采集实战:深度解析w_rid签名与oid参数生成机制 每次打开B站评论区,那些海量的用户互动数据背后,都藏着开发者们最想破解的秘密。作为国内最大的年轻人文化社区,B站的数据价值不言而喻,但它的防护机制也让不少爬…...
华硕笔记本终极性能优化指南:GHelper完全配置教程
华硕笔记本终极性能优化指南:GHelper完全配置教程 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix, Scar, …...
