api设计
已收录文章:9篇
-
Golang · Go教程 | 3星期前 | golang · 配置 · 设计模式 · go · client · api设计 · Go 构造函数 Functional Options 函数选项 Client 配置 API 兼容Functional Options 适合“少量必填参数稳定、可选项会逐步增加”的 Go Client 构造场景。它能避免频繁改函数签名,并让调用点保留 WithTimeout、WithRetry 这类具名配置;但配置总是成组出现、需要从文件反序列化,或只有一个可选值时,Config 结构体或新增构造函数往往更直接。关键不在模式名称,而在默认值、重复选项与兼容边界是否明确。454 收藏
-
Go 的 url.Values 既能表达同名重复参数,也能表达单值参数,但 Add、Set 和 Encode 的组合会直接影响服务端拿到的结果。本文用标签筛选接口说明参数如何构造、编码、解析和验收。386 收藏
-
Go 1.24 完整支持带类型参数的别名声明。本文用一个从 legacy 包迁移到 collection 包的 Set API,比较 type 定义与 type 别名的差异,说明方法、导出类型、go.mod 版本和工具链兼容边界。335 收藏
-
Python API 的返回值和异常是调用方契约的一部分。本文从预期不存在、无效输入、依赖失败和异常链保留四类场景出发,说明 None、内置异常和自定义异常该怎样取舍。313 收藏
-
文章 · php教程 | 3星期前 | PHP · api设计 · url编码 · 后端开发 · http_build_query · 查询参数 · PHP http_build_query PHP 数组参数 URL 查询参数 PHP_QUERY_RFC3986 重复键参数 接口参数设计PHP 的 http_build_query 会把数组编码成带下标的方括号参数;这和不少接口要求的重复键写法不是一回事。用一个筛选接口场景梳理数组、null、空格编码与兼容策略,避免请求串看着对、下游却读不出参数。245 收藏
-
Go 1.23 支持对迭代器函数使用 range,并在标准库提供 iter.Seq 和 iter.Seq2。本文从调用方需求、参数语义、提前停止和兼容策略出发,说明何时返回切片,何时设计迭代器 API。234 收藏
-
Go 的 PATCH 接口如果直接把请求体解码到普通结构体,字段缺失和显式 null 很容易被合并。本文用指针与 json.RawMessage 设计可验证的更新参数,说明两种方案的取舍、错误处理和兼容边界。226 收藏
-
大模型流式输出不能把每个分片当成完整 JSON。用缓冲区、完成事件、事务与请求幂等键,把半截内容和重试写入挡在数据库之外。186 收藏
-
Golang · Go问答 | 3星期前 | 依赖注入 · 设计模式 · api设计 · Go问答 · Functional Options · API设计 默认值 依赖注入 Go问答 Functional Options 函数选项Go 的 Functional Options 能让构造函数同时保留合理默认值和可读的可选配置,但它不适合掩盖必填依赖。本文用一个 HTTP Client 组件说明 Option 的最小写法、默认值与必填项的边界、常见反例和测试清单。153 收藏