Skip to content

Commit 0001d6a

Browse files
committed
整理
1 parent 24053c7 commit 0001d6a

3 files changed

Lines changed: 34 additions & 66 deletions

File tree

Lines changed: 16 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,82 +1,62 @@
11
package com.ejlchina.okhttps;
22

3+
import com.alibaba.fastjson.JSON;
4+
import com.ejlchina.okhttps.internal.HttpException;
5+
import okio.Okio;
6+
37
import java.io.IOException;
48
import java.io.InputStream;
59
import java.nio.charset.Charset;
6-
import java.nio.charset.StandardCharsets;
710
import java.util.List;
811

9-
import com.alibaba.fastjson.JSON;
10-
import com.ejlchina.okhttps.internal.HttpException;
11-
12-
import okio.Okio;
13-
1412
public class FastjsonMsgConvertor implements MsgConvertor, ConvertProvider {
1513

16-
private Charset charset;
17-
18-
public FastjsonMsgConvertor() {
19-
this(StandardCharsets.UTF_8);
20-
}
21-
22-
public FastjsonMsgConvertor(Charset charset) {
23-
this.charset = charset;
24-
}
25-
2614
@Override
2715
public String mediaType() {
28-
return "application/json; charset=" + charset.displayName();
16+
return "application/json";
2917
}
3018

3119
@Override
32-
public Mapper toMapper(InputStream in) {
33-
return new FastjsonMapper(JSON.parseObject(toString(in)));
20+
public Mapper toMapper(InputStream in, Charset charset) {
21+
return new FastjsonMapper(JSON.parseObject(toString(in, charset)));
3422
}
3523

3624
@Override
37-
public Array toArray(InputStream in) {
38-
return new FastjsonArray(JSON.parseArray(toString(in)));
25+
public Array toArray(InputStream in, Charset charset) {
26+
return new FastjsonArray(JSON.parseArray(toString(in, charset)));
3927
}
4028

4129
@Override
42-
public byte[] serialize(Object bean) {
30+
public byte[] serialize(Object bean, Charset charset) {
4331
return JSON.toJSONString(bean).getBytes(charset);
4432
}
4533

4634
@Override
47-
public byte[] serialize(Object bean, String dateFormat) {
35+
public byte[] serialize(Object bean, String dateFormat, Charset charset) {
4836
return JSON.toJSONStringWithDateFormat(bean, dateFormat).getBytes(charset);
4937
}
5038

5139
@Override
52-
public <T> T toBean(Class<T> type, InputStream in) {
53-
return JSON.parseObject(toString(in), type);
40+
public <T> T toBean(Class<T> type, InputStream in, Charset charset) {
41+
return JSON.parseObject(toString(in, charset), type);
5442
}
5543

5644
@Override
57-
public <T> List<T> toList(Class<T> type, InputStream in) {
58-
return JSON.parseArray(toString(in), type);
45+
public <T> List<T> toList(Class<T> type, InputStream in, Charset charset) {
46+
return JSON.parseArray(toString(in, charset), type);
5947
}
6048

6149
@Override
6250
public MsgConvertor getConvertor() {
6351
return new FastjsonMsgConvertor();
6452
}
6553

66-
private String toString(InputStream in) {
54+
private String toString(InputStream in, Charset charset) {
6755
try {
6856
return Okio.buffer(Okio.source(in)).readString(charset);
6957
} catch (IOException e) {
7058
throw new HttpException("读取文本异常", e);
7159
}
7260
}
7361

74-
public Charset getCharset() {
75-
return charset;
76-
}
77-
78-
public void setCharset(Charset charset) {
79-
this.charset = charset;
80-
}
81-
8262
}

okhttps-gson/src/main/java/com/ejlchina/okhttps/GsonMsgConvertor.java

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,49 +16,47 @@
1616
public class GsonMsgConvertor implements MsgConvertor, ConvertProvider {
1717

1818
private Gson gson;
19-
private Charset charset;
2019

2120
public GsonMsgConvertor() {
22-
this(new Gson(), StandardCharsets.UTF_8);
21+
this(new Gson());
2322
}
2423

25-
public GsonMsgConvertor(Gson gson, Charset charset) {
24+
public GsonMsgConvertor(Gson gson) {
2625
this.gson = gson;
27-
this.charset = charset;
2826
}
2927

3028
@Override
3129
public String mediaType() {
32-
return "application/json; charset=" + charset.displayName();
30+
return "application/json";
3331
}
3432

3533
@Override
36-
public Mapper toMapper(InputStream in) {
34+
public Mapper toMapper(InputStream in, Charset charset) {
3735
return new GsonMapper(gson.fromJson(new InputStreamReader(in), JsonObject.class));
3836
}
3937

4038
@Override
41-
public Array toArray(InputStream in) {
39+
public Array toArray(InputStream in, Charset charset) {
4240
return new GsonArray(gson.fromJson(new InputStreamReader(in), JsonArray.class));
4341
}
4442

4543
@Override
46-
public byte[] serialize(Object bean) {
44+
public byte[] serialize(Object bean, Charset charset) {
4745
return gson.toJson(bean).getBytes(charset);
4846
}
4947

5048
@Override
51-
public byte[] serialize(Object bean, String dateFormat) {
49+
public byte[] serialize(Object bean, String dateFormat, Charset charset) {
5250
return gson.newBuilder().setDateFormat(dateFormat).create().toJson(bean).getBytes(charset);
5351
}
5452

5553
@Override
56-
public <T> T toBean(Class<T> type, InputStream in) {
54+
public <T> T toBean(Class<T> type, InputStream in, Charset charset) {
5755
return gson.fromJson(new InputStreamReader(in), type);
5856
}
5957

6058
@Override
61-
public <T> List<T> toList(Class<T> type, InputStream in) {
59+
public <T> List<T> toList(Class<T> type, InputStream in, Charset charset) {
6260
T[] beans = gson.fromJson(new InputStreamReader(in), TypeToken.getArray(type).getType());
6361
List<T> list = new ArrayList<>();
6462
Collections.addAll(list, beans);

okhttps-jackson/src/main/java/com/ejlchina/okhttps/JacksonMsgConvertor.java

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -21,24 +21,21 @@ public class JacksonMsgConvertor implements MsgConvertor, ConvertProvider {
2121

2222
private ObjectMapper objectMapper;
2323

24-
private Charset charset;
25-
2624
public JacksonMsgConvertor() {
27-
this(new ObjectMapper(), StandardCharsets.UTF_8);
25+
this(new ObjectMapper());
2826
}
2927

30-
public JacksonMsgConvertor(ObjectMapper objectMapper, Charset charset) {
28+
public JacksonMsgConvertor(ObjectMapper objectMapper) {
3129
this.objectMapper = objectMapper;
32-
this.charset = charset;
3330
}
3431

3532
@Override
3633
public String mediaType() {
37-
return "application/json; charset=" + charset.displayName();
34+
return "application/json";
3835
}
3936

4037
@Override
41-
public Mapper toMapper(InputStream in) {
38+
public Mapper toMapper(InputStream in, Charset charset) {
4239
try {
4340
JsonNode json = objectMapper.readTree(in);
4441
if (json.isObject()) {
@@ -54,7 +51,7 @@ public Mapper toMapper(InputStream in) {
5451
}
5552

5653
@Override
57-
public Array toArray(InputStream in) {
54+
public Array toArray(InputStream in, Charset charset) {
5855
try {
5956
JsonNode json = objectMapper.readTree(in);
6057
if (json.isArray()) {
@@ -70,7 +67,7 @@ public Array toArray(InputStream in) {
7067
}
7168

7269
@Override
73-
public byte[] serialize(Object bean) {
70+
public byte[] serialize(Object bean, Charset charset) {
7471
try {
7572
objectMapper.writeValueAsBytes(bean);
7673
return objectMapper.writeValueAsString(bean).getBytes(charset);
@@ -80,7 +77,7 @@ public byte[] serialize(Object bean) {
8077
}
8178

8279
@Override
83-
public byte[] serialize(Object bean, String dateFormat) {
80+
public byte[] serialize(Object bean, String dateFormat, Charset charset) {
8481
ObjectMapper mapper = objectMapper.copy();
8582
mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
8683
mapper.setDateFormat(new SimpleDateFormat(dateFormat));
@@ -92,7 +89,7 @@ public byte[] serialize(Object bean, String dateFormat) {
9289
}
9390

9491
@Override
95-
public <T> T toBean(Class<T> type, InputStream in) {
92+
public <T> T toBean(Class<T> type, InputStream in, Charset charset) {
9693
try {
9794
return objectMapper.readValue(in, type);
9895
} catch (IOException e) {
@@ -101,7 +98,7 @@ public <T> T toBean(Class<T> type, InputStream in) {
10198
}
10299

103100
@Override
104-
public <T> List<T> toList(Class<T> type, InputStream in) {
101+
public <T> List<T> toList(Class<T> type, InputStream in, Charset charset) {
105102
CollectionType javaType = objectMapper.getTypeFactory().constructCollectionType(ArrayList.class, type);
106103
try {
107104
return objectMapper.readValue(in, javaType);
@@ -123,11 +120,4 @@ public void setObjectMapper(ObjectMapper objectMapper) {
123120
this.objectMapper = objectMapper;
124121
}
125122

126-
public Charset getCharset() {
127-
return charset;
128-
}
129-
130-
public void setCharset(Charset charset) {
131-
this.charset = charset;
132-
}
133123
}

0 commit comments

Comments
 (0)