11<#ftl output_format="plainText" >
2+ <#macro formDataParts request ><#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 } ) <#if part.dataType.baseType == "multipartfile" >FilePart<#elseif part.dataType.baseType == "array" && part.dataType.innerType.baseType == "multipartfile" >Flux<FilePart ><#else >${part.dataType} </#if > ${part.baseName} <#if part?has_next >, </#if ></#list ></#macro >
23package <#if packageApi?? >${packageApi} <#elseif package?? >${package} </#if >;
34
45import java.util.List;
@@ -21,18 +22,41 @@ import org.springframework.web.server.ServerWebExchange;
2122import reactor.core.publisher.Mono;
2223import reactor.core.publisher.Flux;
2324import springfox.documentation.annotations.ApiIgnore;
25+ <#assign needsFilePart=false >
26+ <#list pathObjects as path >
27+ <#list path.operationObjects as operation >
28+ <#list operation.requestObjects as request >
29+ <#if request.isFormData >
30+ <#list request.contentObjects as content >
31+ <#if content.schemaObject?? >
32+ <#list content.schemaObject.fieldObjectList as field >
33+ <#if "${field.dataType}"?contains("MultipartFile") >
34+ <#assign needsFilePart=true >
35+ </#if >
36+ </#list >
37+ </#if >
38+ </#list >
39+ </#if >
40+ </#list >
41+ </#list >
42+ </#list >
43+ <#if needsFilePart >
44+ import org.springframework.http.codec.multipart.FilePart;
45+ </#if >
2446
2547<#assign imports=[ ]>
2648<#list pathObjects as path >
2749 <#list path.operationObjects as operation >
2850 <#list operation.requestObjects as request >
51+ <#if !request.isFormData >
2952 <#list request.contentObjects as content >
3053 <#if content.importName?? && (!imports?seq_contains(content.importName)) >
3154 <#if (!checkBasicTypes?seq_contains(content.importName)) >
3255 <#assign imports = imports+[content.importName ]>
3356 </#if >
3457 </#if >
3558 </#list >
59+ </#if >
3660 </#list >
3761 <#list operation.responseObjects as response >
3862 <#list response.contentObjects as content >
@@ -70,7 +94,7 @@ public interface ${className?cap_first}Api {
7094 * @param <#list path.parameterObjects as parameter > ${parameter.name} ${parameter.description} ${parameter.required?c } </#list >
7195 </#if >
7296 <#if operation.requestObjects?has_content >
73- *<#list operation.requestObjects as request > @param <#list request.contentObjects as content >${content.dataType?api.getVariableNameString() } <#if content?has_next >, </#if ></#list >${request.description! "" } <#if request.required == true > (required)</#if ></#list >
97+ *<#list operation.requestObjects as request > @param <#if request.isFormData ><# list request.contentObjects[0 ].schemaObject.fieldObjectList as part> ${part.baseName} <# if part?has_next >, </# if ></# list ><# else ><# list request.contentObjects as content >${content.dataType?api.getVariableNameString() } <#if content?has_next >, </#if ></#list ></# if >${request.description! "" } <#if request.required == true > (required)</#if ></#list >
7498 </#if >
7599 * @return<#list operation.responseObjects as response ><#if response.responseName != "default" > ${response.description} ; (status code ${response.responseName} )</#if ></#list >
76100 </#if >
@@ -88,22 +112,23 @@ public interface ${className?cap_first}Api {
88112 @RequestMapping(
89113 method = RequestMethod.${operation.operationType} ,
90114 value = "${path.pathName} ",
91- produces = {"application/json"}
115+ produces = {"application/json"}<#if operation.requestObjects?has_content && operation.requestObjects[0 ].isFormData>,
116+ consumes = {MediaType.MULTIPART_FORM_DATA_VALUE}</#if >
92117 )
93118<#if operation.securities?has_content >
94119 default Mono<ResponseEntity <@compress single_line =true ><<#if operation.responseObjects[0 ].contentObjects[0]??><#if operation.responseObjects[0 ].contentObjects[0].dataType.baseType == "array" || operation.responseObjects[0].contentObjects[0].dataType.baseType == "map">Flux<${operation.responseObjects[0].contentObjects[0].dataType.innerType } ><#else >${operation.responseObjects[0].contentObjects[0].dataType } ></#if ><#else >Void</#if >></@compress > ${operation.operationId} (<@compress single_line=true >
95120 <#if operation.parameterObjects?has_content><#list operation.parameterObjects as parameter> @Parameter(name = "${parameter.name}", description = "${parameter.description}", 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><#if path.parameterObjects?has_content><#list path.parameterObjects as parameter> @Parameter(name = "${parameter.name}", description = "${parameter.description}", 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>
96- <#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 @RequestBody
121+ <#if operation.requestObjects?has_content ><#list operation.requestObjects as request ><# if request.isFormData ><@ formDataParts request/ ><# 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
97122 <#if request.contentObjects[0 ].dataType.baseType == "array" || request.contentObjects[0].dataType.baseType == "map"> Flux<${request.contentObjects[0].dataType.innerType } >
98- <#else > Mono<${request.contentObjects[0].dataType } > </#if > ${request.contentObjects[0].dataType?api.getVariableNameString() } <#if request?has_next >, </#if ></#list ></#if ></@compress ><#if operation.parameterObjects?has_content || operation.requestObjects?has_content >, </#if ><#if path.parameterObjects?has_content || path.requestObjects?has_content >, </#if >@ApiIgnore final ServerWebExchange exchange) {
123+ <#else > Mono<${request.contentObjects[0].dataType } > </#if > ${request.contentObjects[0].dataType?api.getVariableNameString() } <#if request?has_next >, </#if ></#if ></# list ></#if ></@compress ><#if operation.parameterObjects?has_content || operation.requestObjects?has_content >, </#if ><#if path.parameterObjects?has_content || path.requestObjects?has_content >, </#if >@ApiIgnore final ServerWebExchange exchange) {
99124 return Mono.just(new ResponseEntity(HttpStatus.NOT_IMPLEMENTED));
100125 }
101126<#else >
102127 default ResponseEntity<@compress single_line=true ><<#if operation.responseObjects[0 ].contentObjects[0]??><#if operation.responseObjects[0 ].contentObjects[0].dataType.baseType == "array" || operation.responseObjects[0].contentObjects[0].dataType.baseType == "map">Flux<${operation.responseObjects[0].contentObjects[0].dataType.innerType } ><#else >Mono<${operation.responseObjects[0].contentObjects[0].dataType } ></#if ><#else >Void</#if >></@compress > ${operation.operationId} (<@compress single_line=true >
103128 <#if operation.parameterObjects?has_content><#list operation.parameterObjects as parameter> @Parameter(name = "${parameter.name}", description = "${parameter.description}", 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><#if path.parameterObjects?has_content><#list path.parameterObjects as parameter> @Parameter(name = "${parameter.name}", description = "${parameter.description}", 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>
104- <#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 @RequestBody
129+ <#if operation.requestObjects?has_content ><#list operation.requestObjects as request ><# if request.isFormData ><@ formDataParts request/ ><# 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
105130 <#if request.contentObjects[0 ].dataType.baseType == "array" || request.contentObjects[0].dataType.baseType == "map"> Flux<${request.contentObjects[0].dataType.innerType } >
106- <#else > Mono<${request.contentObjects[0].dataType } > </#if > ${request.contentObjects[0].dataType?api.getVariableNameString() } <#if request?has_next >, </#if ></#list ></#if ></@compress ><#if operation.parameterObjects?has_content || operation.requestObjects?has_content >, </#if ><#if path.parameterObjects?has_content || path.requestObjects?has_content >, </#if >@ApiIgnore final ServerWebExchange exchange) {
131+ <#else > Mono<${request.contentObjects[0].dataType } > </#if > ${request.contentObjects[0].dataType?api.getVariableNameString() } <#if request?has_next >, </#if ></#if ></# list ></#if ></@compress ><#if operation.parameterObjects?has_content || operation.requestObjects?has_content >, </#if ><#if path.parameterObjects?has_content || path.requestObjects?has_content >, </#if >@ApiIgnore final ServerWebExchange exchange) {
107132 return new ResponseEntity<> (HttpStatus.NOT_IMPLEMENTED);
108133 }
109134</#if >
0 commit comments