diff --git a/src/main/java/com/twilio/oai/TwilioGoGenerator.java b/src/main/java/com/twilio/oai/TwilioGoGenerator.java index 1e7a60ad3..cb5a2f23c 100644 --- a/src/main/java/com/twilio/oai/TwilioGoGenerator.java +++ b/src/main/java/com/twilio/oai/TwilioGoGenerator.java @@ -138,6 +138,22 @@ public OperationsMap postProcessOperationsWithModels(final OperationsMap objs, L co.returnType = field.dataType; co.returnBaseType = field.complexType; + co.vendorExtensions.put("x-payload-field-name", field.name); + } + //For handling the cases where the schema contains allOf + else{ + ModelMap modelMap = allModels.stream().filter(map1 -> map1.getModel().getClassname().equals(co.returnType)).collect(toSingleton()); + CodegenModel model = (CodegenModel) modelMap.get("model"); + final Optional returnModelOther = Optional.ofNullable(model); + CodegenProperty field = returnModelOther.get().allVars + .stream() + .filter(v -> v.dataType.startsWith("[]")) + .collect(toSingleton()); + + co.returnContainer = co.returnType; + co.returnType = field.dataType; + co.returnBaseType = field.complexType; + co.vendorExtensions.put("x-payload-field-name", field.name); } } diff --git a/src/main/resources/twilio-go/api.mustache b/src/main/resources/twilio-go/api.mustache index abe13cfdd..ea5d8ae8e 100644 --- a/src/main/resources/twilio-go/api.mustache +++ b/src/main/resources/twilio-go/api.mustache @@ -36,7 +36,7 @@ func (params *{{{nickname}}}Params) Set{{paramName}}({{paramName}} {{{dataType}} {{#notes}} // {{{notes}}} {{/notes}} -func (c *ApiService) {{{nickname}}}({{#allParams}}{{#required}}{{paramName}} {{{dataType}}}{{^last}}, {{/last}}{{/required}}{{/allParams}}{{#hasOptionalParams}}params *{{{nickname}}}Params{{/hasOptionalParams}}) ({{#returnType}}*{{{returnType}}}, {{/returnType}}error) { +func (c *ApiService) {{{nickname}}}({{#allParams}}{{#required}}{{paramName}} {{{dataType}}}{{^-last}}, {{/-last}}{{/required}}{{/allParams}}{{#hasOptionalParams}}params *{{{nickname}}}Params{{/hasOptionalParams}}) ({{#returnType}}*{{{returnType}}}, {{/returnType}}error) { path := "{{{path}}}" {{>partial_serialization}}