diff --git a/incubator/binding-openapi/src/main/java/io/aklivity/zilla/runtime/binding/openapi/internal/config/OpenapiClientNamespaceGenerator.java b/incubator/binding-openapi/src/main/java/io/aklivity/zilla/runtime/binding/openapi/internal/config/OpenapiClientNamespaceGenerator.java index 1b8e5cd33d..af7c0344b2 100644 --- a/incubator/binding-openapi/src/main/java/io/aklivity/zilla/runtime/binding/openapi/internal/config/OpenapiClientNamespaceGenerator.java +++ b/incubator/binding-openapi/src/main/java/io/aklivity/zilla/runtime/binding/openapi/internal/config/OpenapiClientNamespaceGenerator.java @@ -31,6 +31,7 @@ import io.aklivity.zilla.runtime.binding.openapi.internal.model.OpenapiHeader; import io.aklivity.zilla.runtime.binding.openapi.internal.model.OpenapiResponse; import io.aklivity.zilla.runtime.binding.openapi.internal.model.OpenapiResponseByContentType; +import io.aklivity.zilla.runtime.binding.openapi.internal.model.OpenapiSchema; import io.aklivity.zilla.runtime.binding.openapi.internal.view.OpenapiOperationView; import io.aklivity.zilla.runtime.binding.openapi.internal.view.OpenapiOperationsView; import io.aklivity.zilla.runtime.binding.openapi.internal.view.OpenapiPathView; @@ -173,7 +174,10 @@ private HttpResponseConfigBuilder injectResponseHeaders( for (Map.Entry header : responses.headers.entrySet()) { String name = header.getKey(); - ModelConfig model = models.get(header.getValue().schema.type); + OpenapiSchema schema = header.getValue().schema; + String modelName = schema.format != null ? String.format("%s:%s", schema.type, schema.format) : + schema.type; + ModelConfig model = models.get(modelName); if (model != null) { response diff --git a/incubator/binding-openapi/src/main/java/io/aklivity/zilla/runtime/binding/openapi/internal/config/OpenapiNamespaceGenerator.java b/incubator/binding-openapi/src/main/java/io/aklivity/zilla/runtime/binding/openapi/internal/config/OpenapiNamespaceGenerator.java index a74fa0d0c5..9ed52ad14f 100644 --- a/incubator/binding-openapi/src/main/java/io/aklivity/zilla/runtime/binding/openapi/internal/config/OpenapiNamespaceGenerator.java +++ b/incubator/binding-openapi/src/main/java/io/aklivity/zilla/runtime/binding/openapi/internal/config/OpenapiNamespaceGenerator.java @@ -39,6 +39,7 @@ import io.aklivity.zilla.runtime.engine.config.NamespaceConfigBuilder; import io.aklivity.zilla.runtime.engine.config.TelemetryRefConfigBuilder; import io.aklivity.zilla.runtime.model.core.config.Int32ModelConfig; +import io.aklivity.zilla.runtime.model.core.config.Int64ModelConfig; import io.aklivity.zilla.runtime.model.core.config.StringModelConfig; public abstract class OpenapiNamespaceGenerator @@ -52,7 +53,9 @@ public abstract class OpenapiNamespaceGenerator protected final Matcher jsonContentType = JSON_CONTENT_TYPE.matcher(""); protected final Map models = Map.of( "string", StringModelConfig.builder().build(), - "integer", Int32ModelConfig.builder().build() + "integer", Int32ModelConfig.builder().build(), + "integer:int32", Int32ModelConfig.builder().build(), + "integer:int64", Int64ModelConfig.builder().build() ); public abstract NamespaceConfig generate( diff --git a/incubator/binding-openapi/src/main/java/io/aklivity/zilla/runtime/binding/openapi/internal/config/OpenapiServerNamespaceGenerator.java b/incubator/binding-openapi/src/main/java/io/aklivity/zilla/runtime/binding/openapi/internal/config/OpenapiServerNamespaceGenerator.java index 5900ba8e8c..907d354d95 100644 --- a/incubator/binding-openapi/src/main/java/io/aklivity/zilla/runtime/binding/openapi/internal/config/OpenapiServerNamespaceGenerator.java +++ b/incubator/binding-openapi/src/main/java/io/aklivity/zilla/runtime/binding/openapi/internal/config/OpenapiServerNamespaceGenerator.java @@ -226,7 +226,10 @@ private HttpRequestConfigBuilder injectParams( { if (parameter.schema != null && parameter.schema.type != null) { - ModelConfig model = models.get(parameter.schema.type); + OpenapiSchema schema = parameter.schema; + String modelName = schema.format != null ? String.format("%s:%s", schema.type, schema.format) : + schema.type; + ModelConfig model = models.get(modelName); if (model != null) { switch (parameter.in)