使用OkHttp进行带有两个对象的API请求的代码示例如下:
import okhttp3.*;
public class ApiRequestExample {
public static void main(String[] args) {
OkHttpClient client = new OkHttpClient();
// 创建第一个对象
RequestBody requestBody1 = new FormBody.Builder()
.add("param1", "value1")
.add("param2", "value2")
.build();
// 创建第二个对象
RequestBody requestBody2 = new FormBody.Builder()
.add("param3", "value3")
.add("param4", "value4")
.build();
// 创建请求
Request request = new Request.Builder()
.url("https://api.example.com/endpoint")
.post(RequestBody.create(MediaType.parse("application/json"), "{\"key\":\"value\"}"))
.build();
// 添加第一个对象到请求体
MultipartBody.Builder multipartBuilder = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("object1", "object1.json", requestBody1);
// 添加第二个对象到请求体
multipartBuilder.addFormDataPart("object2", "object2.json", requestBody2);
// 构建请求体
RequestBody finalRequestBody = multipartBuilder.build();
// 设置请求体
request = request.newBuilder().post(finalRequestBody).build();
// 发送请求
try {
Response response = client.newCall(request).execute();
if (response.isSuccessful()) {
String responseBody = response.body().string();
System.out.println("Response: " + responseBody);
} else {
// 处理请求失败的情况
System.out.println("Request failed");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
这个示例使用OkHttp库创建了一个包含两个对象的API请求。首先,我们创建了两个RequestBody对象来表示这两个对象的数据。然后,我们创建了一个Request对象来指定请求的URL和方法。接下来,我们使用MultipartBody.Builder来构建请求体,并将第一个对象和第二个对象添加到请求体中。最后,我们将请求体设置到Request对象中,并通过OkHttpClient发送请求。如果请求成功,我们打印出响应体的内容。否则,我们处理请求失败的情况。
请注意,这只是一个示例代码,实际使用时需要根据实际情况进行修改。