Merge branch '5.2.x'

This commit is contained in:
Arjen Poutsma
2020-07-01 13:29:15 +02:00
2 changed files with 31 additions and 3 deletions

View File

@@ -43,6 +43,8 @@ import org.springframework.util.StreamUtils;
*/
public class StringHttpMessageConverter extends AbstractHttpMessageConverter<String> {
private static final MediaType APPLICATION_PLUS_JSON = new MediaType("application", "*+json");
/**
* The default charset used by the converter.
*/
@@ -104,7 +106,9 @@ public class StringHttpMessageConverter extends AbstractHttpMessageConverter<Str
@Override
protected void addDefaultHeaders(HttpHeaders headers, String s, @Nullable MediaType type) throws IOException {
if (headers.getContentType() == null ) {
if (type != null && type.isConcrete() && type.isCompatibleWith(MediaType.APPLICATION_JSON)) {
if (type != null && type.isConcrete() &&
(type.isCompatibleWith(MediaType.APPLICATION_JSON) ||
type.isCompatibleWith(APPLICATION_PLUS_JSON))) {
// Prevent charset parameter for JSON..
headers.setContentType(type);
}
@@ -144,7 +148,8 @@ public class StringHttpMessageConverter extends AbstractHttpMessageConverter<Str
if (charset != null) {
return charset;
}
else if (contentType.isCompatibleWith(MediaType.APPLICATION_JSON)) {
else if (contentType.isCompatibleWith(MediaType.APPLICATION_JSON) ||
contentType.isCompatibleWith(APPLICATION_PLUS_JSON)) {
// Matching to AbstractJackson2HttpMessageConverter#DEFAULT_CHARSET
return StandardCharsets.UTF_8;
}