Отправка JSONString в URL в методе doPost, JAVA - PullRequest
0 голосов
/ 02 июня 2018

У меня есть строка json, которую нужно передать в качестве параметра запроса URL.

String jsonString = "{\"name\":\"sample\"}";

HTTPSClientUtils.doPost(new URL(url + "?params=" + jsonString), "", header);

Я попытался сделать это и получил сообщение об ошибке "Недопустимые символы в URL"

ЗатемАльтернативно, я пробовал как,

String urlJson = URLEncoder.encode(jsonString, "UTF-8");

Теперь также он возвращает ту же ошибку.Может ли кто-нибудь руководить правильным способом отправки строки JSON в URL для POST?

1 Ответ

0 голосов
/ 02 июня 2018

Вы можете использовать HttpURLConnection class с URL class и использовать OutputStream, чтобы написать его в теле сообщения.

                String postParam = "{\"name\":\"sample\"}";
                URL url = new URL(*Your url goes here*);
                HttpURLConnection connection = (HttpURLConnection) url.openConnection();

                connection.setRequestMethod("POST");
                connection.setDoOutput(true);
                connection.setDoInput(true);
                connection.setRequestProperty("Content-type", "application/x-www-form-urlencoded");

                OutputStream os = connection.getOutputStream();
                os.write(postParam.getBytes());
                os.flush();
                os.close();

Вы можете поместить это в тело try-catch,это бросает MalformedURLException

...