api设计
已收录文章:13篇
-
Golang · Go教程 | 2个月前 | 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 正式支持的泛型类型别名,讲清 type Alias[T] = ... 的语义、约束写法、API 迁移、兼容测试和公共库使用边界。339 收藏
-
Go 1.24 完整支持带类型参数的别名声明。本文用一个从 legacy 包迁移到 collection 包的 Set API,比较 type 定义与 type 别名的差异,说明方法、导出类型、go.mod 版本和工具链兼容边界。335 收藏
-
Python API 的返回值和异常是调用方契约的一部分。本文从预期不存在、无效输入、依赖失败和异常链保留四类场景出发,说明 None、内置异常和自定义异常该怎样取舍。313 收藏
-
文章 · php教程 | 2个月前 | PHP · api设计 · 后端开发 · PHP http_build_query PHP 数组参数 URL 查询参数 PHP_QUERY_RFC3986 重复键参数 接口参数设计PHP 的 http_build_query 会把数组编码成带下标的方括号参数;这和不少接口要求的重复键写法不是一回事。用一个筛选接口场景梳理数组、null、空格编码与兼容策略,避免请求串看着对、下游却读不出参数。245 收藏
-
Go 泛型函数的约束既要表达可接受的类型,也要让调用方看得懂。本文从类型集、接口方法和类型推断三个边界出发,拆解约束设计、编译验证与常见误区。242 收藏
-
Go 1.23 支持对迭代器函数使用 range,并在标准库提供 iter.Seq 和 iter.Seq2。本文从调用方需求、参数语义、提前停止和兼容策略出发,说明何时返回切片,何时设计迭代器 API。234 收藏
-
24小时统计业务背景最初设计的时候根据业务需求使用的统计数据是每天凌晨统计一次,也就是最细的力度是天24小时的统计数据,是从接口发出请求到服务端收到信息后的时间位开始时间,往226 收藏
-
Go 的 PATCH 接口如果直接把请求体解码到普通结构体,字段缺失和显式 null 很容易被合并。本文用指针与 json.RawMessage 设计可验证的更新参数,说明两种方案的取舍、错误处理和兼容边界。226 收藏
-
大模型流式输出不能把每个分片当成完整 JSON。用缓冲区、完成事件、事务与请求幂等键,把半截内容和重试写入挡在数据库之外。186 收藏
-
Go 泛型 API 不必先把参数塞进 interface{} 再做类型断言。comparable 负责可比较类型,~T 负责接收底层类型相同的自定义类型;约束只写调用方和函数体真正需要的能力,API 才不会被过度收窄。173 收藏