Created by: Rattenkrieg
Additional fixes for #10865 (closed)
Currently, a request containing default value for an array would break kotlin generation yielding java.lang.ClassCastException
java.lang.String cannot be cast to com.fasterxml.jackson.databind.node.ArrayNode
The problem lies in swagger dependency that doesn't handle default values for arrays as java arrays rather passing it as string like ["value1"]
. This is the line that feeds string value to our schema
. Simple spec below works fine reproducing the issue.
In this PR I decided to skip such string values as I don't see jackson parser being wired in AbstractKotlinCodegen
, however if maintainers decide that parsing such strings is really something nice to have, I could hack on this PR further.
/foo/bar:
post:
operationId: UpdateBar
consumes:
- multipart/form-data
parameters:
- name: values
in: formData
required: false
type: array
items:
type: string
enum:
- value1
- value2
default:
- value1
responses:
"200":
description: "Success."
PR checklist
-
Read the contribution guidelines. -
Pull Request title clearly describes the work in the pull request and Pull Request description provides details about how to validate the work. Missing information here may result in delayed response from the community. -
Run the following to build the project and update samples: ./mvnw clean package ./bin/generate-samples.sh ./bin/utils/export_docs_generators.sh
./bin/generate-samples.sh bin/configs/java*
. For Windows users, please run the script in Git BASH. -
File the PR against the correct branch: master
(6.1.0) (minor release - breaking changes with fallbacks),7.0.x
(breaking changes without fallbacks) -
If your PR is targeting a particular programming language, @mention the technical committee members, so they are more likely to review the pull request.
@jimschubert @dr4ke616 @karismann @Zomzog @andrewemery @4brunu @yutaka0m