【发布时间】:2017-03-24 06:23:49
【问题描述】:
我已设置 OkHttpClient 并成功将 GET 请求发送到服务器。而且我还可以将 POST 请求发送到带有空正文标签的服务器。
现在,我正在尝试将以下 JSON 对象发送到服务器。
{
"title": "Mr.",
"first_name":"Nifras",
"last_name": "",
"email": "nfil@gmail.com",
"contact_number": "75832366",
"billing_address": "",
"connected_via":"Application"
}
为此,我尝试添加 OkHttpClient 库类 RequestBody,但未能将 JSON 对象作为 http POST 请求的主体发送。我尝试通过以下方式构建正文并处理发布请求。
OkHttpClient client = new OkHttpClient();
RequestBody body = new RequestBody() {
@Override
public MediaType contentType() {
return ApplicationContants.JSON;
}
@Override
public void writeTo(BufferedSink sink) throws IOException {
// This is the place to add json I thought. But How could i do this
}
};
Request request = new Request.Builder()
.url(ApplicationContants.BASE_URL + ApplicationContants.CUSTOMER_URL)
.post(body)
.build();
我通过 POST 请求将 JSON 对象发送到服务器的方式是什么。
提前致谢。
【问题讨论】:
-
您可以简单地使用非常流行的 Retrofit 库。使用它,您只需要创建一个带有表示 JSON 字段的字段的 POJO 类,并将其作为请求的正文发送。
标签: android json okhttp3 okhttp