接口设计
已收录文章:22篇
-
Golang · Go问答 | 2个月前 | JSON · 接口设计 · Go问答 · encoding/json · encoding/json API响应 JSON序列化 time.Time omitempty Go问答 omitzeroGo 里 time.Time 是结构体零值,旧的 omitempty 不会按很多人期待的方式省略它。Go 1.24 起可用 omitzero;需要区分缺失和有值时,用 *time.Time 更清楚。315 收藏
-
回答 Go nil slice 和空 slice 在 JSON 输出上的差异,说明为什么一个是 null、一个是 [],并给出接口数组字段统一成 [] 的代码写法、回归检查和迁移清单。305 收藏
-
本文从前端调用方视角说明批量导出接口的设计取舍:为什么大文件导出不建议同步下载,如何拆成创建任务、查询状态、获取下载链接,并给出参数、错误码和兼容策略。296 收藏
-
Golang · Go问答 | 2个月前 | go · 文件上传 · 安全 · net/http · 接口设计 · multipart/form-data ParseMultipartForm http.MaxBytesReader Go文件上传 请求体大小限制Go 文件上传接口不能只依赖 ParseMultipartForm 的参数,否则超大请求仍可能先进入内存或临时文件。本文从 net/http 服务端入口开始,演示 MaxBytesReader、ParseMultipartForm 和文件级校验的组合边界,并给出超限回归检查。275 收藏
-
AI 接口遇到 504 不能简单重复提交。本文用 OpenAI 的 X-Client-Request-Id 和 Gemini API 的指数退避建议,拆解请求标识、可重试错误、结果去重与人工复核的完整工作流。229 收藏
-
Go 泛型接口同时写类型集和方法时,约束的是可接受的类型与可调用的方法。本文用一个可运行的小实验拆开两层边界,解释为什么某些类型能传入、为什么调用方仍然不能调用具体类型方法,并给出检查和扩展写法。201 收藏
-
以 PHP 老接口迁移为例,把散落的 $_POST 读取改成 Request DTO、集中校验和统一错误响应,给出变更表、新写法、回归请求和分批迁移清单。199 收藏
-
Golang · Go教程 | 2个月前 | golang · JSON · 故障排查 · Go教程 · 接口设计 · JSON Go 接口兼容性 DisallowUnknownFields 严格解码接口增加 json.Decoder.DisallowUnknownFields 后,旧客户端多传字段会从静默兼容变成 400。本文用一个订单接口故障复盘这个变化,说明如何定位触发条件、保留严格校验的收益,并通过灰度和版本边界避免再次误伤旧请求。174 收藏
-
AI 接口遇到 504 不能简单重复提交。本文用 OpenAI 的 X-Client-Request-Id 和 Gemini API 的指数退避建议,拆解请求标识、可重试错误、结果去重与人工复核的完整工作流。171 收藏
-
Go 接口升级时,既要识别未知字段避免拼写错误,又要保留新字段以兼容旧客户端。本文用 Decoder、DisallowUnknownFields 和 json.RawMessage 拆开这条边界。170 收藏