As I understand, you're trying to handle a multipart file as well. Have you tried using @RequestPart? It allows you to separate the multipart file from the JSON object and handle it as a separate parameter.
I think, handling both a multipart file and JSON payload together isn't natively supported in Spring, as @RequestBody is designed to handle a single, serialized JSON object in the request body.
@PutMapping(value = "/submit", consumes = "multipart/form-data")
public ResponseEntity<FormData> submit(
@RequestPart Submission submission, @RequestPart MultipartFile file) throws IOException {}