码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 《使用Gin框架构建分布式应用》阅读笔记:p52-p76


    《用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)

  • 相关阅读:
    提高排名的 15 个基本 SEO 技巧
    Java程序启动后首次访问很慢--JVM预热
    MySQL调优之慢查询日志应用
    应用平台桌面菜单由常规拖放,换成ht.Grid布局操作步骤
    2023NOIP游寄
    操作系统 day09(线程)
    Vue3 中的几个坑,你都见过吗?
    【513. 找树左下角的值】
    基于python爬取母婴用品评论的数据分析
    Dev C++ 注释中文乱码问题及解决方法
  • 原文地址:https://www.cnblogs.com/codists/p/18471183
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号