Closed
Description
Describe the bug
A HTTP header in multipart/form-data is handled as form item instead of header
To Reproduce
- java: 17
- spring-boot: 2.7.3
- springdoc-openapi: 1.6.11
- actual OpenAPI description: openjson.txt
"multipart/form-data" : {
"schema" : {
"required" : [ "file", "request" ],
"type" : "object",
"properties" : {
"request" : {
"$ref" : "#/components/schemas/GreetRequest"
},
"file" : {
"type" : "string",
"format" : "binary"
},
"My-Header" : { }
}
}
}
- Sample controller:
@Operation(summary = "Test Endpoint")
@PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseStatus(OK)
GreetResponse upload(
@RequestHeader("My-Header") String workspaceId,
@RequestPart("request") GreetRequest request,
@RequestPart("file") MultipartFile file
) {
return GreetResponse.of("Hello World!");
}
record GreetRequest(String message1, String message2, String message3) {
}
record GreetResponse(String message) {
static GreetResponse of(String message) {
return new GreetResponse(message);
}
}
Expected behavior
- A HTTP header in multipart/form-data should be handled as a header not form item
Screenshots