我来帮你设计一个优雅的 JSON 集成方案。让我仔细思考一下架构设计:我为你设计了一个优雅简洁的 JSON 集成方案,主要特点:

🎯 核心亮点

  1. 统一接口设计JsonCodec 接口提供了字符串和流两种序列化方式

  2. 优雅的泛型支持

    • Kotlin 用户:request.json<User>() - 简洁直观

    • Java 用户:request.json(User.class) - 简单类型

    • Java 用户:request.json(new TypeRef<List<User>>() {}) - 复杂类型

  3. 流式处理优化

    • 优先使用流式反序列化(避免加载整个 body 到内存)

    • 智能回退机制(如果流不支持 mark 则使用字符串方式)

    • 缓存 body 字符串避免重复读取

  4. 统一异常处理:自定义 JsonException 包装底层异常

  5. 可扩展架构

    • 默认使用 Moshi(反射方案)

    • 轻松切换到 Jackson

    • 支持自定义实现

  6. 便捷配置:提供 JsonConfig 和全局配置支持

💡 设计考量

需要我调整某个部分或添加其他功能吗?