android requestbody
时间: 2023-06-30 12:07:07 浏览: 42
Android中的RequestBody是一个请求体,用于发送POST请求时向服务器传递请求参数或上传文件。它通常与Retrofit库一起使用。
RequestBody有多种不同的类型,包括:
- MediaType:用于指定请求体的MIME类型
- RequestBody.create():用于创建一个请求体,可以传递字符串、字节数组、文件等数据
- MultipartBody.Part:用于上传文件时指定文件名称和文件内容
以下是一个使用RequestBody发送POST请求的示例:
```java
// 创建请求体
String json = "{\"username\":\"test\",\"password\":\"123456\"}";
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), json);
// 发送请求
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
ApiService apiService = retrofit.create(ApiService.class);
Call<User> call = apiService.login(requestBody);
call.enqueue(new Callback<User>() {
@Override
public void onResponse(Call<User> call, Response<User> response) {
// 处理响应结果
}
@Override
public void onFailure(Call<User> call, Throwable t) {
// 处理请求失败
}
});
```
在上述示例中,我们创建了一个JSON格式的请求体,并使用MediaType指定了MIME类型为“application/json”。然后,我们使用Retrofit发送POST请求,并将请求体作为参数传递给login()方法。最后,我们使用enqueue()方法发起异步请求,并在回调中处理响应结果或请求失败。