Как можно добавить параметры в OkHttp Request.builder?Android OKHttp добавление параметров
//request
Request.Builder requestBuilder = new Request.Builder()
.url(url);
Мне удалось добавить заголовок, но не параметры.
Как можно добавить параметры в OkHttp Request.builder?Android OKHttp добавление параметров
//request
Request.Builder requestBuilder = new Request.Builder()
.url(url);
Мне удалось добавить заголовок, но не параметры.
Вы можете использовать LIB: https://github.com/square/mimecraft:
FormEncoding fe = new FormEncoding.Builder()
.add("name", "Lorem Ipsum")
.add("occupation", "Filler Text")
.build();
Multipart содержание:
Multipart m = new Multipart.Builder()
.addPart(new Part.Builder()
.contentType("image/png")
.body(new File("/foo/bar/baz.png"))
.build())
.addPart(new Part.Builder()
.contentType("text/plain")
.body("The quick brown fox jumps over the lazy dog.")
.build())
.build();
Смотрите здесь: How to use OKHTTP to make a post request?
Вот со Пример mplete о том, как использовать okhttp для отправки запроса (okhttp3).
Для передачи данных в виде тела
RequestBody formBody = new FormBody.Builder()
.add("param_a", "value_a")
.addEncoded("param_b", "value_b")
.build();
Для передачи данных в качестве составного тела
RequestBody multipartBody = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("fieldName", fileToUpload.getName(),RequestBody.create(MediaType.parse("application/octet-stream"), fileToUpload))
.build();
Для передачи данных в качестве JSon тела
RequestBody jsonBody = RequestBody.create(MediaType.parse("application/json; charset=utf-8"),
jsonObject.toString());
Теперь создайте запрос
Request request = new Request.Builder()
.addHeader("header_a", "value_a") // to add header data
.post(formBody) // for form data
.post(jsonBody) // for json data
.post(multipartBody) // for multipart data
.build();
Response response = client.newCall(request).execute();
** fileToUpload является объектом типа Java файл
** клиент является объектом типа OkHttpClient
Может быть, вы имеете в виду это:
HttpUrl url = new HttpUrl.Builder().scheme("http").host(HOST).port(PORT)
.addPathSegment("xxx").addPathSegment("xxx")
.addQueryParameter("id", "xxx")
.addQueryParameter("language", "xxx").build();
Как объединить два? – JY2k
Вы имели в виду параметры и заголовок? – MilanNz
да что именно я имел в виду – JY2k