mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-12-05 22:46:09 +00:00
[kotlin-spring] Handle arrays of files correctly using MultipartFile (#20108)
* [kotlin-spring] Fix no List being used for an array of files using multipart/form-data * [kotlin-spring] Use Spring's MultipartFile class for incoming Files instead of Spring's Resource class. * [kotlin-spring] Add test to ensure that return type for files is `org.springframework.core.io.Resource` * [kotlin-spring] Ensure Array is used for lists of files in generated Api class * Update samples * [kotlin-spring] Move conditional usage of MultipartFile to optionalDataType.mustache. Update samples * update samples --------- Co-authored-by: William Cheng <wing328hk@gmail.com>
This commit is contained in:
@@ -198,7 +198,7 @@ interface PetApi {
|
||||
produces = ["application/json"],
|
||||
consumes = ["multipart/form-data"]
|
||||
)
|
||||
fun uploadFile(@Parameter(description = "ID of pet to update", required = true) @PathVariable("petId") petId: kotlin.Long,@Parameter(description = "Additional data to pass to server") @RequestParam(value = "additionalMetadata", required = false) additionalMetadata: kotlin.String? ,@Parameter(description = "file to upload") @Valid @RequestPart("file", required = false) file: org.springframework.core.io.Resource?): ResponseEntity<ModelApiResponse> {
|
||||
fun uploadFile(@Parameter(description = "ID of pet to update", required = true) @PathVariable("petId") petId: kotlin.Long,@Parameter(description = "Additional data to pass to server") @RequestParam(value = "additionalMetadata", required = false) additionalMetadata: kotlin.String? ,@Parameter(description = "file to upload") @Valid @RequestPart("file", required = false) file: org.springframework.web.multipart.MultipartFile?): ResponseEntity<ModelApiResponse> {
|
||||
return getDelegate().uploadFile(petId, additionalMetadata, file)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,6 @@ import org.springframework.http.HttpStatus
|
||||
import org.springframework.http.MediaType
|
||||
import org.springframework.http.ResponseEntity
|
||||
import org.springframework.web.context.request.NativeWebRequest
|
||||
import org.springframework.core.io.Resource
|
||||
import org.springframework.http.server.reactive.ServerHttpRequest
|
||||
|
||||
import java.util.Optional
|
||||
@@ -151,7 +150,7 @@ interface PetApiDelegate {
|
||||
*/
|
||||
fun uploadFile(petId: kotlin.Long,
|
||||
additionalMetadata: kotlin.String?,
|
||||
file: Resource?): ResponseEntity<ModelApiResponse> {
|
||||
file: org.springframework.web.multipart.MultipartFile?): ResponseEntity<ModelApiResponse> {
|
||||
getRequest().ifPresent { request ->
|
||||
for (mediaType in MediaType.parseMediaTypes(request.getHeader("Accept"))) {
|
||||
if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) {
|
||||
|
||||
@@ -5,7 +5,6 @@ import org.springframework.http.HttpStatus
|
||||
import org.springframework.http.MediaType
|
||||
import org.springframework.http.ResponseEntity
|
||||
import org.springframework.web.context.request.NativeWebRequest
|
||||
import org.springframework.core.io.Resource
|
||||
import org.springframework.http.server.reactive.ServerHttpRequest
|
||||
|
||||
import java.util.Optional
|
||||
|
||||
@@ -5,7 +5,6 @@ import org.springframework.http.HttpStatus
|
||||
import org.springframework.http.MediaType
|
||||
import org.springframework.http.ResponseEntity
|
||||
import org.springframework.web.context.request.NativeWebRequest
|
||||
import org.springframework.core.io.Resource
|
||||
import org.springframework.http.server.reactive.ServerHttpRequest
|
||||
|
||||
import java.util.Optional
|
||||
|
||||
Reference in New Issue
Block a user