Optimal charset handling in AbstractHttpMessageConverter

Closes gh-36320
This commit is contained in:
rstoyanchev
2026-02-23 15:44:26 +00:00
parent 2d81a9fe9b
commit 9042682b56
@@ -254,13 +254,14 @@ public abstract class AbstractHttpMessageConverter<T> implements HttpMessageConv
contentTypeToUse = (mediaType != null ? mediaType : contentTypeToUse);
}
if (contentTypeToUse != null) {
String value = contentTypeToUse.toString();
if (contentTypeToUse.getCharset() == null) {
Charset defaultCharset = getDefaultCharset();
if (defaultCharset != null) {
contentTypeToUse = new MediaType(contentTypeToUse, defaultCharset);
value += ";charset=" + defaultCharset.name();
}
}
headers.setContentType(contentTypeToUse);
headers.set(HttpHeaders.CONTENT_TYPE, value);
}
}
if (headers.getContentLength() < 0 && !headers.containsKey(HttpHeaders.TRANSFER_ENCODING)) {