ResponseBody抽象类 ——主要是对响应正文的概念的实现。
因为ResponseBody抽象类的子类RealResponseBody实现的很简单,就是持有响应头和读取流。其中大部分功能还是在ResponseBody抽象类中的,所以这里只分析ResponseBody。
我们看一下源码。
一、ResponseBody类声明
public abstract class MyResponseBody implements Closeable
可以看到它实现了Closeable接口,这就意味着它是一种占用系统资源的类,所以要记得及时关闭。
2、ResponseBody类的属性
//字符流
private Reader reader;
只有一个属性。其实主要的属性是在它的子类中的,它的子类RealResponseBody属性也就是两个。
private final Headers headers;
private final BufferedSource source;
所以响应正文的属性还是很少的。
3、实例化ResponseBody抽象类
public static ResponseBody create(MediaType contentType, String content) {
Charset charset = UTF_8;
if (contentType != null) {
charset = contentType.charset();
if (charset ==