I faced the same issue and solved it but adding a custom HttpMessageConverter
So if I translate for your example :
@Configuration
@EnableWebMvc
public class MyApiConfig implements WebMvcConfigurer {
@Override
public void extendMessageConverters(List<HttpMessageConverter> messageConverters) {
messageConverters.add(new UserHttpMessageConverter());
}
}
public class UserConverter extends MappingJackson2HttpMessageConverter {
@Override
public boolean canRead(Type type, Class contextClass, MediaType mediaType) {
return type.getTypeName().equals(User.class.getName());
}
}
And then in your controller you can retrieve directly the user : @RequestPart(required = true, name = “user”) User user.
It does the same thing but I find this solution more generic.
Thank you
]]>