tag

Go

共 679 篇文章。
全部文章JavaGo书稿TypeScript游戏开发独立开发者小游戏游戏设计Godot性能优化RustKafkaPython游戏引擎
golang

《Go 语言编程实战》4.3 OpenAPI 契约优先与版本化

接口写完了,但契约只活在代码里:客户端没有类型、文档会过期、字段改名没人知道。本节给 TaskHub 补上 OpenAPI 契约优先的流程,用 oapi-codegen 从一份 openapi.yaml 真实生成类型与服务端骨架并跑通请求,实测生成器对 enum 与多余字段的校验边界,再写一个契约漂移检查把 spec 和路由锁在一起,最后给出 URL 版本化与废弃策略。

8 分钟阅读
Go Go 语言编程实战 OpenAPI
golang

《Go 语言编程实战》4.2 分页、过滤、排序与幂等

列表接口是接口设计里最容易被低估的一个。本节把 TaskHub 的任务列表做成可游标翻页、可白名单过滤、可白名单排序的接口,用真实 Postgres 对比 OFFSET 与键集分页在 20 万行下的耗时与扫描行数差距,再用幂等键中间件解决 POST 重试导致重复创建的问题,并给出重放与冲突的实测行为。

8 分钟阅读
Go Go 语言编程实战 分页
golang

《Go 语言编程实战》4.1 REST 资源建模与状态码

接口一多,最先失控的不是代码而是 URL 和状态码。本节把 TaskHub 的租户/项目/任务三级资源建模成稳定的 URL 层级,梳理每个方法与状态码的对应关系,用 Go 1.22+ ServeMux 的路径参数承接,并解决多租户下 404 与 403 的取舍、ID 前缀与时间格式等表示层约定,最后用 httptest 把状态码固化成可回归的契约。

8 分钟阅读
Go Go 语言编程实战 REST