是否可对Google Fonts动态字体列表接口使用分页或搜索查询参数?
Google Fonts API 搜索参数解答
先说结论:官方公开的https://www.googleapis.com/webfonts/v1/webfonts接口本身没有原生的服务端搜索查询参数,没办法直接通过加URL参数实现服务端侧的字体名称过滤。
可落地的替代方案
- 方案1:全量拉取+本地缓存搜索(最推荐)
你已经在用fields参数裁剪返回字段,可以进一步压缩返回体积:仅指定拉取字体名称的话,参数配置为fields=items/family,返回的整体数据体积会降到100KB以内,远小于原始1MB的大小。
首次加载时全量拉取数据后,缓存到浏览器LocalStorage或者IndexedDB里,后续用户输入自动补全关键词时,直接在本地做模糊/前缀匹配就可以。Google Fonts总共有一千多款字体,千级数据量下本地搜索几乎没延迟,完全能满足自动补全的性能需求。
额外可以搭配sort=popularity参数让返回的字体列表按流行度排序,自动补全时优先展示热门字体,用户体验更好。 - 方案2:自建中转代理接口
如果业务场景不允许前端全量拉取数据,可以自己搭一层轻量代理服务:在服务端定期同步缓存完整的Google Fonts字体列表,对外提供带搜索参数的自定义接口,前端直接调用自有接口,由服务端完成过滤后只返回匹配结果,同时还能避免把Google API密钥直接暴露在前端代码里。
内容的提问来源于stack exchange,提问作者Bogdan Dukhevych
相关产品推荐
相关产品推荐

