当前位置: 首页 > news >正文

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的用法

上一篇&#xff1a; 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 内置的模块通过第三方库安装的模块框架自身提供的模块用户自己定义的模块 如&#xff1a; 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&#xff0c;输出大于等于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》提出了两种创新技术&#xff0c;以改善多模态3D检测模型的性能&#xff0c;通过更有效地融合相机和激光雷达传感器数据来提高对象检测的准确性&#xff0c;尤其是在行人检测方面…...

关于前端处理后端轮询的操作 (总结)

使用场景&#xff1a;前端首次发起请求获取数据&#xff0c;若失败则每隔1s发起一次知道成功获取数据为止解决方案&#xff1a; 使用轮询操作&#xff0c;涉及定时器的使用和关闭 &#xff08;使用vue2代码为例) data() {return {pollingResult_en: null, // 处理轮询结果bizI…...

【SpringCloud】设计原则之单一职责与服务拆分

一、设计原则之单一职责 设计原则很重要的一点就是简单&#xff0c;单一职责也就是所谓的专人干专事 一个单元&#xff08;一个类、函数或微服务&#xff09;应该有且只有一个职责 无论如何&#xff0c;一个微服务不应该包含多于一个的职责 职责单一的后果之一就是职责单…...

UDP分片和丢包与TCP效果对比

UDP 分片 与 丢包&#xff0c;UDP 真的比 TCP 高效吗&#xff1f; UDP&#xff08;用户数据报协议&#xff09;和TCP&#xff08;传输控制协议&#xff09;在很多方面都有显著的区别。总体来说&#xff0c;TCP更适合需要可靠传输的应用&#xff0c;例如网页浏览、电子邮件等&a…...

Inport 模块

文章目录 Interpolate datainport 模块存在于模型最顶层Port Dimension 和 Variable-size signal Interpolate data Interpolate data&#xff1a;当将 Workspace 的数据导人模型时, 对没有对应数据点的采样时刻进行线性插值的开关选项。 inport 模块存在于模型最顶层 inpo…...

Deep Learning for Monocular Depth Estimation: A Review.基于深度学习的深度估计

传统的深度估计方法通常是使用双目相机&#xff0c;计算两个2D图像的视差&#xff0c;然后通过立体匹配和三角剖分得到深度图。然而&#xff0c;双目深度估计方法至少需要两个固定的摄像机&#xff0c;当场景的纹理较少或者没有纹理的时候&#xff0c;很难从图像中捕捉足够的特…...

点云从入门到精通技术详解100篇-基于深度学习的稀疏点云障碍物检测(续)

目录 3.1 连续帧点云空间特征融合 3.1.1 点云预处理 3.1.2 地面分割 3.1.3 自适应点云聚类...

使用VSCode+PlatformIO搭建ESP32开发环境

Arduino IDE本来就是为创客们开发的&#xff0c;虽然没代码提示功能&#xff0c;文件的关系也不清晰&#xff0c;函数不能跳转&#xff0c;头文件也打不开&#xff0c;但人家的初衷就是为了简单而生的&#xff1b;但还是有一些同学喜欢高级点的IDE&#xff0c;也没问题&#xf…...

使用flask返回json格式的数据

Flask Flask是一个使用Python编写的轻量级Web框架&#xff0c;它的设计理念是保持简单、灵活和易扩展。它的核心是Werkzeug和Jinja2&#xff0c;并且它本身只提供了非常基础的Web框架功能&#xff0c;例如路由和请求处理等。 使用Flask可以快速创建一个Web应用程序&#xff0c;…...

如何排查java 内存溢出OutOfMemoryError?

当使用Spring Boot进行文件上传时&#xff0c;文件会被读取到内存中进行处理。如果上传的文件较大&#xff0c;会占用大量的内存空间&#xff0c;从而导致内存溢出&#xff08;OutOfMemory&#xff09;问题。以下是一些建议的排查方案&#xff1a; 调整 JVM 内存设置&#xff…...

Prometheus环境搭建和认识

Prometheus 环境搭建 1.prometheus 简介 Prometheus是基于go语言开发的一套开源的监控、报警和时间序列数据库的组合&#xff0c;是由SoundCloud公司开发的开源监控系统&#xff0c;Prometheus于2016年加入CNCF&#xff08;Cloud Native Computing Foundation,云原生计算基金…...

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件&#xff1a;-&#xff08;纯文本文件&#xff0c;二进制文件&#xff0c;数据格式文件&#xff09; 如文本文件、图片、程序文件等。 目录文件&#xff1a;d&#xff08;directory&#xff09; 用来存放其他文件或子目录。 设备…...

树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频

使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...

模型参数、模型存储精度、参数与显存

模型参数量衡量单位 M&#xff1a;百万&#xff08;Million&#xff09; B&#xff1a;十亿&#xff08;Billion&#xff09; 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的&#xff0c;但是一个参数所表示多少字节不一定&#xff0c;需要看这个参数以什么…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​&#xff0c;覆盖应用全生命周期测试需求&#xff0c;主要提供五大核心能力&#xff1a; ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

leetcodeSQL解题:3564. 季节性销售分析

leetcodeSQL解题&#xff1a;3564. 季节性销售分析 题目&#xff1a; 表&#xff1a;sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中&#xff0c;将 long long 类型转换为 QString 可以通过以下两种常用方法实现&#xff1a; 方法 1&#xff1a;使用 QString::number() 直接调用 QString 的静态方法 number()&#xff0c;将数值转换为字符串&#xff1a; long long value 1234567890123456789LL; …...

根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:

根据万维钢精英日课6的内容&#xff0c;使用AI&#xff08;2025&#xff09;可以参考以下方法&#xff1a; 四个洞见 模型已经比人聪明&#xff1a;以ChatGPT o3为代表的AI非常强大&#xff0c;能运用高级理论解释道理、引用最新学术论文&#xff0c;生成对顶尖科学家都有用的…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象&#xff0c;只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意&#xff1a;它移动的位置必须是相连的有内容的单元格…...

Pinocchio 库详解及其在足式机器人上的应用

Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库&#xff0c;专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性&#xff0c;并提供了一个通用的框架&…...

LRU 缓存机制详解与实现(Java版) + 力扣解决

&#x1f4cc; LRU 缓存机制详解与实现&#xff08;Java版&#xff09; 一、&#x1f4d6; 问题背景 在日常开发中&#xff0c;我们经常会使用 缓存&#xff08;Cache&#xff09; 来提升性能。但由于内存有限&#xff0c;缓存不可能无限增长&#xff0c;于是需要策略决定&am…...