接口设计
已收录文章:17篇
-
Golang · Go问答 | 2个月前 | go · 文件上传 · 安全 · net/http · 接口设计 · multipart/form-data ParseMultipartForm http.MaxBytesReader Go文件上传 请求体大小限制Go 文件上传接口不能只依赖 ParseMultipartForm 的参数,否则超大请求仍可能先进入内存或临时文件。本文从 net/http 服务端入口开始,演示 MaxBytesReader、ParseMultipartForm 和文件级校验的组合边界,并给出超限回归检查。275 收藏
-
Go 批量 CSV 导入不能先把全文件读进内存。用 csv.Reader 逐行读取、用大小与行数预算限制请求、按批写库并回传有限的失败行,才能让大文件导入既可控又方便用户修正。407 收藏
-
订单咨询一多,最难受的不是模型答得不通顺,而是下游拿到的字段时有时无。用 JSON Schema 约束输出、在服务端再做一次校验,并给拒答和缺字段留出口,能把自然语言解析变成可观察、可验收的业务步骤。333 收藏
-
Go 的传统 encoding/json 会把 nil slice 编码为 null,把已初始化的空切片编码为 []。先由接口契约决定返回形状,再在成功响应的边界归一化并用测试锁定,避免前端空列表处理出现分支。392 收藏
-
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 收藏