在 Java 中,發送 post 請求并傳遞 json 對象的操作十分常見,下面我們將簡單介紹一下如何使用 Java 發送 post 請求并傳遞 json 對象。
首先,我們需要引入相關的類庫,比如使用 HttpComponents 的 HttpClient 類庫,這個類庫可以方便的實現 Http 請求。
//引入相應的類庫 import org.apache.http.HttpEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils;
接著,我們需要定義 Json 對象,這里我們使用 com.alibaba.fastjson.JSON 庫進行操作。
//定義 Json 對象 JSONObject json = new JSONObject(); json.put("username", "test"); json.put("password", "123456");
然后,我們需要將 Json 對象轉換為字符串,并且將其封裝在 StringEntity 對象中,最后我們將其綁定到 HttpPost 對象上。
//將 Json 對象轉換為字符串 StringEntity requestEntity = new StringEntity(json.toString(), "utf-8"); requestEntity.setContentEncoding("UTF-8"); requestEntity.setContentType("application/json"); //綁定到 HttpPost 對象上 HttpPost post = new HttpPost("http://example.com/api/login"); post.setEntity(requestEntity);
最后,我們需要執行 post 請求,并且讀取服務端返回的數據。
//執行 post 請求 CloseableHttpClient httpClient = HttpClients.createDefault(); CloseableHttpResponse response = httpClient.execute(post); //讀取服務端返回的數據 HttpEntity entity = response.getEntity(); String responseStr = EntityUtils.toString(entity, "utf-8"); System.out.println(responseStr); //關閉連接 response.close(); httpClient.close();
上述就是如何在 Java 中發送 post 請求并傳遞 json 對象的操作,僅供參考。