[Go] Fix deepObject serialization that are anyOf (#19090)

* [Go] Fix deepObject serialization that are anyOf

Updates the go client generator to have the generated struct for anyOf types conform to `MappedNullable` interface.
Fixes query params serialization for deepObjects that are of `anyOf` type.

Implements the suggestion in https://github.com/OpenAPITools/openapi-generator/issues/19085

* check parameter style for deepObject serialization

* generate samples for go-echo-external-refs-test

* move test back to http port

* restrict to anyof models with discriminator

* update test

* add some tests

added some tests to `modules/openapi-generator/src/test/resources/3_0/go/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml` and regenerated the samples
This commit is contained in:
Tanmay Mohapatra
2024-08-04 15:13:09 +05:30
committed by GitHub
parent e0f12e9bf4
commit 4c163fe4b0
45 changed files with 1500 additions and 233 deletions

View File

@@ -104,13 +104,13 @@ func (a *FormAPIService) TestFormIntegerBooleanStringExecute(r ApiTestFormIntege
localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
}
if r.integerForm != nil {
parameterAddToHeaderOrQuery(localVarFormParams, "integer_form", r.integerForm, "")
parameterAddToHeaderOrQuery(localVarFormParams, "integer_form", r.integerForm, "", "")
}
if r.booleanForm != nil {
parameterAddToHeaderOrQuery(localVarFormParams, "boolean_form", r.booleanForm, "")
parameterAddToHeaderOrQuery(localVarFormParams, "boolean_form", r.booleanForm, "", "")
}
if r.stringForm != nil {
parameterAddToHeaderOrQuery(localVarFormParams, "string_form", r.stringForm, "")
parameterAddToHeaderOrQuery(localVarFormParams, "string_form", r.stringForm, "", "")
}
req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
if err != nil {
@@ -220,7 +220,7 @@ func (a *FormAPIService) TestFormObjectMultipartExecute(r ApiTestFormObjectMulti
if localVarHTTPHeaderAccept != "" {
localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
}
parameterAddToHeaderOrQuery(localVarFormParams, "marker", r.marker, "")
parameterAddToHeaderOrQuery(localVarFormParams, "marker", r.marker, "", "")
req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
if err != nil {
return localVarReturnValue, nil, err
@@ -357,22 +357,22 @@ func (a *FormAPIService) TestFormOneofExecute(r ApiTestFormOneofRequest) (string
localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
}
if r.form1 != nil {
parameterAddToHeaderOrQuery(localVarFormParams, "form1", r.form1, "")
parameterAddToHeaderOrQuery(localVarFormParams, "form1", r.form1, "", "")
}
if r.form2 != nil {
parameterAddToHeaderOrQuery(localVarFormParams, "form2", r.form2, "")
parameterAddToHeaderOrQuery(localVarFormParams, "form2", r.form2, "", "")
}
if r.form3 != nil {
parameterAddToHeaderOrQuery(localVarFormParams, "form3", r.form3, "")
parameterAddToHeaderOrQuery(localVarFormParams, "form3", r.form3, "", "")
}
if r.form4 != nil {
parameterAddToHeaderOrQuery(localVarFormParams, "form4", r.form4, "")
parameterAddToHeaderOrQuery(localVarFormParams, "form4", r.form4, "", "")
}
if r.id != nil {
parameterAddToHeaderOrQuery(localVarFormParams, "id", r.id, "")
parameterAddToHeaderOrQuery(localVarFormParams, "id", r.id, "", "")
}
if r.name != nil {
parameterAddToHeaderOrQuery(localVarFormParams, "name", r.name, "")
parameterAddToHeaderOrQuery(localVarFormParams, "name", r.name, "", "")
}
req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
if err != nil {