类 JsonSchemaTypeMapper

java.lang.Object
com.agentsflex.core.util.JsonSchemaTypeMapper

public final class JsonSchemaTypeMapper extends Object
Java 类型到 JSON Schema 类型的映射工具类

支持标准类型、集合类型、泛型类型及自定义类型注册

JSON Schema 标准类型: string, number, integer, boolean, object, array, null

从以下版本开始:
2026/03/10
作者:
fuhai
  • 字段详细资料

  • 构造器详细资料

  • 方法详细资料

    • mapToSchemaType

      @NotNull public static String mapToSchemaType(@Nullable Class<?> javaType)
      将 Java Class 映射为 JSON Schema 类型字符串
      参数:
      javaType - Java 类型
      返回:
      JSON Schema 类型: string/number/integer/boolean/object/array/null
    • resolveArrayItemType

      @NotNull public static String resolveArrayItemType(@Nullable Type genericType)
      解析数组/集合元素的 JSON Schema 类型(支持泛型)
      参数:
      genericType - 泛型类型信息,如 List<String>String
      返回:
      元素类型的 JSON Schema 类型
    • registerStrategy

      public static void registerStrategy(@NotNull Class<?> type, @NotNull JsonSchemaTypeMapper.TypeMappingStrategy strategy)
      注册自定义类型映射策略

      示例:registerStrategy(LocalDateTime.class, t -> "string", "date-time")

      参数:
      type - Java 类型
      strategy - 映射策略
    • clearCache

      public static void clearCache()
      清除缓存(测试或热更新场景使用)
    • doMapType

      @NotNull private static String doMapType(@NotNull Class<?> type)
    • resolveType

      @NotNull private static String resolveType(@Nullable Type type)
    • isIntegerNumericType

      private static boolean isIntegerNumericType(Class<?> type)
    • isFloatingNumericType

      private static boolean isFloatingNumericType(Class<?> type)
    • isStringLikeType

      private static boolean isStringLikeType(Class<?> type)