- 设置post方式
Request.Builder类的post方法,设置post请求的请求体,接收的参数是RequestBody类及子类对象。
quest.Builder类的post方法的源码是:
public Builder post(RequestBody body) {
return method("POST", body);
}
method方法的源码是:这个方法的作用就是将body对象给Request对象的body字段赋值。
public Builder method(String method, RequestBody body) {
this.method = method;
this.body = body;
return this;
}
2,RequestBody请求体.
RequestBody类中核心方法有以下三个:
1,public abstract MediaType contentType()//数据类型
2,public long contentLength()//数据长度
3,public abstract void writeTo(BufferedSink sink)//写操作
RequestBody类中的writeTo方法是抽象方法,具体实现在子类中,
BufferedSink 类是square公司开源的IO框架Okio中的一个类,这个类封装了OutputStream,即本质是一个输出流,具有write方法。可以把BufferedSink 当成OutputStream使用。
3:RequestBody的创建。
RequestBody.create(type,...).可以传递不同类型的数据。string,file。formBody,等数据