Skip to content

Commit 5757def

Browse files
authored
Implement GetActualInstanceValue method (#20663)
1 parent 09df015 commit 5757def

File tree

20 files changed

+182
-0
lines changed

20 files changed

+182
-0
lines changed

modules/openapi-generator/src/main/resources/go/client.mustache

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,10 @@ func typeCheckParameter(obj interface{}, expected string, name string) error {
137137

138138
func parameterValueToString( obj interface{}, key string ) string {
139139
if reflect.TypeOf(obj).Kind() != reflect.Ptr {
140+
if actualObj, ok := obj.(interface{ GetActualInstanceValue() interface{} }); ok {
141+
return fmt.Sprintf("%v", actualObj.GetActualInstanceValue())
142+
}
143+
140144
return fmt.Sprintf("%v", obj)
141145
}
142146
var param,ok = obj.(MappedNullable)

modules/openapi-generator/src/main/resources/go/model_oneof.mustache

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,4 +145,16 @@ func (obj *{{classname}}) GetActualInstance() (interface{}) {
145145
return nil
146146
}
147147

148+
// Get the actual instance value
149+
func (obj {{classname}}) GetActualInstanceValue() (interface{}) {
150+
{{#oneOf}}
151+
if obj.{{#lambda.type-to-name}}{{{.}}}{{/lambda.type-to-name}} != nil {
152+
return *obj.{{#lambda.type-to-name}}{{{.}}}{{/lambda.type-to-name}}
153+
}
154+
155+
{{/oneOf}}
156+
// all schemas are nil
157+
return nil
158+
}
159+
148160
{{>nullable_model}}

samples/client/echo_api/go-external-refs/client.go

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

samples/client/echo_api/go/client.go

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

samples/client/others/go/allof_multiple_ref_and_discriminator/client.go

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

samples/client/others/go/oneof-anyof-required/client.go

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

samples/client/others/go/oneof-anyof-required/model_object.go

Lines changed: 14 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

samples/client/others/go/oneof-discriminator-lookup/client.go

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

samples/client/others/go/oneof-discriminator-lookup/model_object.go

Lines changed: 14 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

samples/client/petstore/go/go-petstore/client.go

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)