@@ -3,9 +3,28 @@ package <#if packageApi??>${packageApi}<#elseif package??> ${package}</#if>;
33
44<#assign imports=[ ]>
55<#assign model_imports=[ ]>
6+ <#assign needsMultipartFile=false >
67<#list pathObjects as path >
78 <#list path.operationObjects as operation >
89 <#list operation.requestObjects as request >
10+ <#if request.isFormData >
11+ <#list request.contentObjects as content >
12+ <#if content.schemaObject?? >
13+ <#list content.schemaObject.fieldObjectList as field >
14+ <#if "${field.dataType}"?contains("MultipartFile") >
15+ <#assign needsMultipartFile=true >
16+ </#if >
17+ </#list >
18+ </#if >
19+ </#list >
20+ </#if >
21+ </#list >
22+ </#list >
23+ </#list >
24+ <#list pathObjects as path >
25+ <#list path.operationObjects as operation >
26+ <#list operation.requestObjects as request >
27+ <#if !request.isFormData >
928 <#list request.contentObjects as content >
1029 <#if content.importName?? && (!imports?seq_contains(content.importName)) && (!model_imports?seq_contains(content.importName)) >
1130 <#if (!checkBasicTypes?seq_contains(content.importName)) >
@@ -17,6 +36,7 @@ package <#if packageApi??>${packageApi}<#elseif package??> ${package}</#if>;
1736 </#if >
1837 </#if >
1938 </#list >
39+ </#if >
2040 </#list >
2141 <#list operation.responseObjects as response >
2242 <#list response.contentObjects as content >
@@ -62,6 +82,9 @@ import org.springframework.http.HttpStatus;
6282import org.springframework.http.ResponseEntity;
6383import org.springframework.web.bind.annotation.*;
6484import org.springframework.web.context.request.NativeWebRequest;
85+ <#if needsMultipartFile >
86+ import org.springframework.web.multipart.MultipartFile;
87+ </#if >
6588
6689<#list model_imports as import >
6790import <#if packageModel?? >${packageModel} <#elseif package?? >${package} </#if >.${import} ;
@@ -80,7 +103,7 @@ public interface ${className?cap_first}Api {
80103 *<#list path.parameterObjects as parameter > @param ${parameter.name} <#if parameter.description?has_content >${parameter.description} </#if >${parameter.required?c } </#list >
81104 </#if >
82105 <#if operation.requestObjects?has_content >
83- *<#list operation.requestObjects as request ><#list request.contentObjects as content > @param ${content.dataType?api.getVariableNameString() } <#if content?has_next >, </#if ></#list >${request.description! "" } <#if request.required == true > (required)</#if ></#list >
106+ *<#list operation.requestObjects as request ><#if request.isFormData ><# list request.contentObjects[0 ].schemaObject.fieldObjectList as part> @param ${part.baseName} </# list ><# else ><# list request.contentObjects as content > @param ${content.dataType?api.getVariableNameString() } <#if content?has_next >, </#if ></#list ></# if >${request.description! "" } <#if request.required == true > (required)</#if ></#list >
84107 </#if >
85108 * @return<#list operation.responseObjects as response ><#if response.responseName != "default" > ${response.description} ; (status code ${response.responseName} )</#if ></#list ></#if >
86109 */
@@ -97,15 +120,16 @@ public interface ${className?cap_first}Api {
97120 @RequestMapping(
98121 method = RequestMethod.${operation.operationType} ,
99122 value = "${path.pathName} ",
100- produces = {"application/json"}
123+ produces = {"application/json"}<#if operation.requestObjects?has_content && operation.requestObjects[0 ].isFormData>,
124+ consumes = {MediaType.MULTIPART_FORM_DATA_VALUE}</#if >
101125 )
102126
103127 default ResponseEntity<@compress single_line=true ><#if operation.responseObjects[0 ].contentObjects[0]??>
104128 <${operation.responseObjects[0].contentObjects[0].dataType } <#else ><Void </#if >></@compress > ${operation.operationId} (<@compress single_line=true >
105129 <#if operation.parameterObjects?has_content ><#list operation.parameterObjects as parameter > @Parameter(name = "${parameter.name} ", <#if parameter.description?has_content >description = "${parameter.description} ", </#if >required = ${parameter.required?c } , schema = @Schema(description = "")) <#if parameter.in == "path" > @PathVariable("${parameter.name} ") <#elseif parameter.in == "query" > @RequestParam(required = ${parameter.required?c } ) </#if > ${parameter.dataType} ${parameter.name} <#if parameter?has_next || operation.requestObjects?has_content >, </#if ></#list ></#if >
106130 <#if path.parameterObjects?has_content ><#list path.parameterObjects as parameter > @Parameter(name = "${parameter.name} ", <#if parameter.description?has_content >description = "${parameter.description} ", </#if >required = ${parameter.required?c } , schema = @Schema(description = "")) <#if parameter.in == "path" > @PathVariable("${parameter.name} ") <#elseif parameter.in == "query" > @RequestParam(required = ${parameter.required?c } ) </#if > ${parameter.dataType} ${parameter.name} <#if parameter?has_next || operation.requestObjects?has_content >, </#if ></#list ></#if >
107- <#if operation.requestObjects?has_content ><#list operation.requestObjects as request > @Parameter(name = "${request.contentObjects[0].dataType?api.getVariableNameString() } ", description = "${request.description! "" } ", required = ${request.required?c } , schema = @Schema(description = "${request.contentObjects[0].description! "" } ")) @Valid <# if request.isFormData == false > @RequestBody</# if >
108- ${request.contentObjects[0].dataType } ${request.contentObjects[0].dataType?api.getVariableNameString() } <#if request?has_next >, </#if ></#list ></#if ></@compress >) {
131+ <#if operation.requestObjects?has_content ><#list operation.requestObjects as request ><# if request.isFormData ><# list request.contentObjects[0 ].schemaObject.fieldObjectList as part> @Parameter(name = "${part.baseName} ", required = ${part.required ?c } , schema = @Schema(description = "")) @RequestPart(value = " ${part.baseName} ", required = ${part.required ?c } ) ${part.dataType} ${part.baseName} <# if part?has_next || request?has_next >, </# if ></# list ><# else > @Parameter(name = " ${request .contentObjects[0].dataType?api.getVariableNameString() } ", description = "${request.description! "" } ", required = ${request.required?c } , schema = @Schema(description = "${request.contentObjects[0].description! "" } ")) @Valid @RequestBody
132+ ${request.contentObjects[0].dataType } ${request.contentObjects[0].dataType?api.getVariableNameString() } <#if request?has_next >, </#if ></#if ></# list ></#if ></@compress >) {
109133 return new ResponseEntity<> (HttpStatus.NOT_IMPLEMENTED);
110134 }
111135 </#list >
0 commit comments