《使用Gin框架构建分布式应用》阅读笔记:p52-p76

devtools/2024/10/22 2:49:47/

《用Gin框架构建分布式应用》学习第4天,p32-p76总结,总计25页。

一、技术总结

1.Go知识点

(1)iouti

书上使用ioutil包读取JSON文件,但是从go 1.16 开始,不再推荐使用ioutil,应该使用os 包。

(2)json.Unmarshal() vs json.NewDecoder()

当数据已经被加载到内存中了(例如一个string,slice),那么使用json.Unmarshal();如果是读取文件,那么使用json.NewDecoder。

2.go-swagger

使用 go-swagger包生成API文档流程:

(1)安装

go install github.com/go-swagger/go-swagger/cmd/swagger@latest

(2)给函数添加swagger

/ swagger:route GET /recipes  listRecipes
// Returns list of recipes
// ---
// produces:
// - application/json
// responses:
// '200':
// description: Successful operation
// ListRecipesHandler 差下recipes,因为是查询所有,所以名称这里用的是复数
func ListRecipesHandler(c *gin.Context) {c.JSON(http.StatusOK, recipes)
}

(3)生成文档

swagger generate spec -o ./swagger.json

注:每次给函数添加注释后都需要执行该命令,否则API文档不会更新。

(4)启动API服务

 swagger serve --no-open -F swager ./swagger.json

注:因为本人使用的是WSL,所以需要添加–no-open,否则报webbrowser: can’t open browser错误,服务无法启动。

UI有两种风格:Redoc和 Swagger UI。上没“-F swagger”指定了UI风格为Swagger UI。

注:个人觉得书上这种方式比较麻烦且繁琐,同时大量的注释导致代码非常不简洁。

二、英语总结

无,第二章除了食物名,整体来说生词比较少。

三、其它

无。

四、参考资料

1. 编程

(1) Mohamed Labouardy,《Building Distributed Applications in Gin》:https://book.douban.com/subject/35610349

2. 英语

(1) Etymology Dictionary:https://www.etymonline.com

(2) Cambridge Dictionary:https://dictionary.cambridge.org

在这里插入图片描述

欢迎搜索及关注:编程人(a_codists)


http://www.ppmy.cn/devtools/127712.html

相关文章

【AI论文精读5】知识图谱与LLM结合的路线图-P4(完)

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】 P1,P2,P3 6 协同LLMs与知识图谱(KGs) 近年来,LLMs与知识图谱(KGs)的协同工作引起了越来越多的关注,这种协同结合了LLMs与知…

大厂面试真题-Arthas有哪些常用的命令

Arthas是Alibaba开源的一款Java诊断工具,它可以在不重启JVM的情况下,动态地查看JVM运行状态、类加载情况、内存使用情况、线程执行情况等,帮助开发者轻松排查线上问题。以下是Arthas排查线上问题时常用的命令: dashboard&#xff…

Windos如何调节麦克风音量

1、打开控制面板 2、点击:硬件和声音 3、出现下图,点击:声音。 4、打开如下界面,先点击:录制 5、再鼠标右键:麦克风阵列。点击属性。 6、选择级别,然后调解音量,最后确定应用。

连锁收银系统

商淘云连锁管理系统助力连锁企业实现“人货账”全方位数字化管理,它依托连锁品牌进销存管理实现门店订货、线下收银、线上商城、会员营销等一体化管理。 门店订货补货支持连锁直营、加盟 不同门店不同进货价、不同门店不同商品、不同门店在线或者账期支付、门店PC或…

进一步开发在线课程管理系统的功能,包括学生查看课程、提交作业、查看成绩等。

1. 学生查看课程功能 学生需要一个页面来查看他们已经注册的课程列表。我们可以在数据库中创建一个关联表 enrollments,用于记录学生注册的课程。 a. 修改数据库设计 新增一张 enrollments 表,来存储学生注册的课程信息: CREATE TABLE en…

叉车安全防撞装置的作用

‌叉车安全防撞装置的核心作用在于提升叉车运行时的安全性,特别是在倒车或经过岔路口等驾驶员视线可能受阻的情境下,通过探测叉车周围的障碍物距离,实时为驾驶员提供必要的辅助信息,有效预防碰撞事故的发生。‌ 这些装置通过多种技…

商品详情数据API接口概述(json数据格式返回参考)

商品详情数据API接口是指一种编程接口(API,Application Programming Interface),它允许开发者或系统以编程方式获取商品的详细信息。这些信息包括但不限于SKU的详细信息、商品图片、商品属性、价格、库存状态、用户评价等。当调用…

2024.10月14日-SpringMVC-基于注解声明式事务的属性

一、基于注解的声明式事务5个属性 1 只读 语法: Transactional(readOnly true) 意义: 对一个查询操作来说,如果我们把它设置成只读,就能够明确告诉数据库,这个操作不涉及写操作。这样数据库就能够针对查询操作来…