ts-rest框架3.53.0-alpha.2版本发布:核心功能优化与扩展
ts-rest是一个现代化的TypeScript优先的API契约框架,它通过类型安全的契约定义来简化前后端API开发。该框架允许开发者定义一次API契约,然后在客户端和服务器端共享这些类型定义,从而实现端到端的类型安全。
核心模块(@ts-rest/core)改进
本次发布的3.53.0-alpha.2版本对核心模块进行了多项重要改进:
-
响应体处理优化:修复了当响应没有正文但包含JSON内容类型头时的处理逻辑。这一改进使得框架能够更准确地处理无内容响应,避免了潜在的解析错误。
-
URL路径处理增强:解决了baseUrl和路径中前导和尾部斜杠重复的问题。现在无论开发者如何组合baseUrl和路径,框架都能正确拼接URL,避免了因斜杠处理不当导致的请求错误。
-
路径参数类型扩展:现在支持将数字直接作为路径参数传递。这一改进简化了开发者的代码,不再需要显式地将数字转换为字符串,框架会自动处理类型转换。
Express适配器(@ts-rest/express)更新
Express适配器在这个版本中增加了对Express v5的支持。这意味着开发者现在可以在最新的Express环境中使用ts-rest框架,享受最新的Express特性同时保持类型安全的API开发体验。
Fastify适配器(@ts-rest/fastify)功能增强
Fastify适配器现在导出了AppRouteImplementation类型,这一改变使得开发者可以跨文件使用路由实现类型,提高了代码的组织性和可维护性。这对于大型项目中的代码拆分和模块化开发特别有价值。
Next.js适配器(@ts-rest/next)修复
修复了Next.js适配器中查询参数污染路径参数读取的问题。这一修复确保了在Next.js环境中,路径参数能够被正确解析,不会受到查询参数的干扰,提高了路由匹配的准确性。
OpenAPI支持(@ts-rest/open-api)改进
OpenAPI生成功能在这个版本中得到了两项重要增强:
-
operationMapper功能扩展:现在operationMapper回调函数接收操作ID参数,允许开发者使用appRoute的ID来自定义OpenAPI生成逻辑。这为生成更符合团队规范的OpenAPI文档提供了更大的灵活性。
-
其他响应类型支持:新增了对
c.otherResponse()的支持,使得在生成OpenAPI模式时能够包含非标准响应的定义。这一改进增强了框架对多样化API响应场景的支持能力。
Serverless适配器(@ts-rest/serverless)类型导出优化
Serverless适配器现在导出了更多类型,解决了在使用"verbatimModuleSyntax"等严格构建配置时的构建问题。这一改进使得框架在各种TypeScript配置环境下都能更稳定地工作。
总结
ts-rest 3.53.0-alpha.2版本带来了多项实用改进,从核心功能优化到各平台适配器的增强,都体现了框架对开发者体验的持续关注。特别是对URL处理、参数传递和OpenAPI生成等关键功能的改进,将进一步提升开发效率和应用稳定性。对于正在使用或考虑采用ts-rest框架的团队,这个预发布版本值得关注和评估。
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5-w4a8GLM-5-w4a8基于混合专家架构,专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署,适配Atlas 800T A3,采用w4a8量化技术,结合vLLM推理优化,高效平衡性能与精度,助力智能应用开发Jinja00
jiuwenclawJiuwenClaw 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0204- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
AtomGit城市坐标计划AtomGit 城市坐标计划开启!让开源有坐标,让城市有星火。致力于与城市合伙人共同构建并长期运营一个健康、活跃的本地开发者生态。01
awesome-zig一个关于 Zig 优秀库及资源的协作列表。Makefile00