14
14
import java .io .IOException ;
15
15
import java .lang .reflect .Type ;
16
16
import java .nio .charset .Charset ;
17
+ import java .nio .charset .StandardCharsets ;
17
18
import java .util .LinkedList ;
18
19
import java .util .List ;
19
20
20
21
/**
21
22
* <p>响应体数据处理,防止数据类型为String时再进行JSON数据转换,那么产生最终的结果可能被双引号包含...</p>
22
- *
23
23
* @author licoy.cn
24
24
* @version 2018/9/5
25
25
*/
26
+ @ Configuration
26
27
public class HttpConverterConfig implements WebMvcConfigurer {
27
28
28
- public MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter () {
29
- return new MappingJackson2HttpMessageConverter () {
29
+ public MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter (){
30
+ return new MappingJackson2HttpMessageConverter (){
30
31
@ Override
31
32
protected void writeInternal (Object object , Type type , HttpOutputMessage outputMessage ) throws IOException , HttpMessageNotWritableException {
32
- if (object instanceof String ) {
33
+ if (object instanceof String ){
33
34
Charset charset = this .getDefaultCharset ();
34
- if (charset != null ) {
35
- StreamUtils . copy (( String ) object , charset , outputMessage . getBody ()) ;
35
+ if (charset == null ){
36
+ charset = StandardCharsets . UTF_8 ;
36
37
}
37
- } else {
38
+ StreamUtils .copy ((String )object , charset , outputMessage .getBody ());
39
+ }else {
38
40
super .writeInternal (object , type , outputMessage );
39
41
}
40
42
}
@@ -44,10 +46,12 @@ protected void writeInternal(Object object, Type type, HttpOutputMessage outputM
44
46
@ Override
45
47
public void configureMessageConverters (List <HttpMessageConverter <?>> converters ) {
46
48
MappingJackson2HttpMessageConverter converter = mappingJackson2HttpMessageConverter ();
47
- converter .setSupportedMediaTypes (new LinkedList <MediaType >() {{
48
- add (MediaType .TEXT_PLAIN );
49
+ converter .setSupportedMediaTypes (new LinkedList <MediaType >(){{
50
+ add (MediaType .TEXT_HTML );
51
+ add (MediaType .APPLICATION_JSON_UTF8 );
49
52
}});
50
53
converters .add (new StringHttpMessageConverter ());
51
54
converters .add (converter );
52
55
}
53
56
}
57
+
0 commit comments