news 2026/4/16 13:11:52

【API 设计之道】04 字段掩码模式:让前端决定后端返回什么

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【API 设计之道】04 字段掩码模式:让前端决定后端返回什么

大家好,我是Tony Bai。

欢迎来到我们的专栏 《API 设计之道:从设计模式到 Gin 工程化实现》的第四讲。

在上一讲中,我们解决了那些无法被 CRUD 囊括的复杂业务逻辑。今天,我们将目光转向数据传输的效率问题。

在日常开发中,你是否遇到过这样的“拉扯”场景:

场景 A:前端开发了一款 App,在“用户列表页”只需要展示用户的头像昵称

后端:直接复用了GetUser接口,返回了包含身份证号家庭住址注册时间最后登录IP等 50 多个字段的超级大 JSON。

前端:抱怨说:“我就要两个字段,你给我几 KB 的数据,用户在地铁上信号不好,加载太慢了!能不能给我单写一个GetUserSimple接口?”

后端:心里苦——“为了这点破事又要写个新接口?如果不写,是不是还得定一个UserSimpleDTO?”

这就陷入了 API 设计中经典的过度获取(Over-fetching)困境。

如果我们为每一种前端视图都定制一个后端接口,那就会陷入“BFF(Backend for Frontend)地狱”,后端变成了前端的“切图仔”;如果我们什么都不管,只返回全量数据,那就是对带宽和客户端内存的犯罪。

GraphQL 的出现很大程度上是为了解决这个问题,但为了这点需求引入整套 GraphQL 基础设施,成本又未免太高。

有没有一种办法,能在保持 RESTful 架构简洁性的同时,实现“按需索取”呢?

答案是肯定的。这就是今天我们要讲的API模式:字段掩码(Field Mask),也被称为“愿望清单(Wish List)”模式。

什么是字段掩码 (Field Mask)?

核心思想非常简单:客户端在请求中通过参数告诉服务端,“我只想要这些字段”,服务端据此对响应体进行裁剪。

架构模式视角

在架构设计领域,这种模式被称为Response Shaping(响应塑形)。它打破了“服务端定义契约,客户端被动接受”的传统模式,赋予了客户端(消费者)定义数据形态的权力。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 7:01:30

开源大模型新星:Seed-Coder-8B-Base技术博客引流策略揭秘

开源大模型新星:Seed-Coder-8B-Base技术博客引流策略揭秘 在开发者工具的演进史上,我们正经历一场静默却深刻的变革。曾经需要多年经验积累才能熟练掌握的编码范式、API调用和错误排查,如今正被一个又一个“懂代码”的AI模型悄然化解。GitHub…

作者头像 李华
网站建设 2026/4/16 8:47:31

HunyuanVideo-Foley与DiskInfo工具结合:监测模型运行时磁盘IO性能

HunyuanVideo-Foley与DiskInfo工具结合:监测模型运行时磁盘IO性能 在AI驱动内容生成的浪潮中,视频智能处理正从“人工精修”迈向“自动合成”的新阶段。以腾讯混元团队推出的 HunyuanVideo-Foley 为例,这款多模态音效生成引擎能根据视频画面自…

作者头像 李华
网站建设 2026/4/16 8:47:32

均衡器(EQ)

EQ是Equalizer的缩写,称均衡器。作用是调整各频段信号的增益值。 一、频段介绍[20-60Hz]影响音色的空间感,因为乐音的基音大多在这段频率以上,这段很难表现。 [60-100Hz]影响声音的混厚感,是低音的基音区。如果这段频率…

作者头像 李华
网站建设 2026/4/16 8:41:25

飞天茅台跌破1399一瓶,你会买一瓶收藏吗?

大家好,我是明哥。记得刚开始第一次接触茅台,那时候1499价格,同事买到后我从手里购买了一瓶,那时候市场价1899左右。这一瓶过年就喝了,随后就发现飞天茅台飞涨,于是就开始去找从哪里可以买到我,…

作者头像 李华
网站建设 2026/4/16 8:41:15

B站视频下载神器:5分钟学会BiliDownloader的完美使用攻略

B站视频下载神器:5分钟学会BiliDownloader的完美使用攻略 【免费下载链接】BiliDownloader BiliDownloader是一款界面精简,操作简单且高速下载的b站下载器 项目地址: https://gitcode.com/gh_mirrors/bi/BiliDownloader 还在为B站视频无法离线观看…

作者头像 李华
网站建设 2026/4/15 14:50:45

使用C#调用HunyuanVideo-Foley API实现桌面端音效生成

使用C#调用HunyuanVideo-Foley API实现桌面端音效生成 在短视频和直播内容井喷的今天,一个看似不起眼却直接影响观感的问题浮出水面:视频“太安静”了。很多用户拍摄的画面清晰流畅,但背景空洞、动作无声,缺乏真实世界的听觉反馈—…

作者头像 李华