Как передать тело JSON в HTTP Положить в JAVA - PullRequest
0 голосов
/ 16 декабря 2018

Может кто-нибудь объяснить мне, как передать параметр JSON в теле запроса.Я использую HttpURLConnection для создания соединения, как показано ниже:

URL uri = null;
    HttpURLConnection con = null;
    try{
        uri = new URL(url); //URL is hardcoded as of now
        con = (HttpURLConnection) uri.openConnection();
        con.setRequestMethod(type); //type: POST, PUT, DELETE, GET
        con.setDoOutput(true);
        con.setDoInput(true);
        con.setConnectTimeout(60000); //60 secs
        con.setReadTimeout(60000); //60 secs
        con.setRequestProperty("Accept-Encoding", "application/json");
        con.setRequestProperty("Content-Type", "application/json");
        con.setRequestProperty("cache-control", "no-cache");
        con.setRequestProperty("Postman-Token", "448b7c42-61f1-4373-8a7d-80a0a4610b99");

        JSONObject reqBody = new JSONObject();
        reqBody.put("state", "4");
        System.out.println(reqBody);
        StringEntity params = new StringEntity(reqBody.toString());
         if( reqBody != null){  
                con.setDoInput(true);
                con.setDoOutput(true);
                DataOutputStream out = new  DataOutputStream(con.getOutputStream());

Как я могу установить здесь тело запроса?

1 Ответ

0 голосов
/ 16 декабря 2018

Для указания тела вашего запроса:

OutputStreamWriter wr = new OutputStreamWriter(con.getOutputStream());
wr.write(reqBody.toString());
wr.flush()
...