typed-openapi icon indicating copy to clipboard operation
typed-openapi copied to clipboard

Default values from schema not passed through codegen

Open 0237h opened this issue 9 months ago • 0 comments

Hi,

Seems like when applying default values to some parameters in the OpenAPI spec, those defaults are not carried over in the codegen. This could be useful especially for Zod, etc. when parsing the resulting objects to provide the default value.

Example

"parameters": [
  {
    "name": "test_no_default",
    "in": "query",
    "schema": {
      "type": "string"
    }
  },
  {
    "name": "test_with_default",
    "in": "query",
    "schema": {
      "type": "string",
      "default": "hello world"
    }
  }
]

will generate

parameters: z.object({
  query: z.object({
    test_no_default: z.string().optional(),
    test_with_default: z.string().optional(),
  }),
})

instead of

parameters: z.object({
  query: z.object({
    test_no_default: z.string().optional(),
    test_with_default: z.string().optional().default("hello world"),
  }),
})

0237h avatar May 16 '24 20:05 0237h