在Java開發(fā)中,我們會經(jīng)常需要使用到POST提交JSON數(shù)據(jù)格式的數(shù)據(jù),這個時候就需要借助一些工具類來進行處理。
一般情況下,我們會使用HttpClient來進行POST請求的發(fā)送,需要注意的是,在發(fā)送POST請求的同時,需要將請求頭設(shè)置為JSON格式。
/** * POST請求發(fā)送者 * @param requestUrl 請求地址 * @param jsonParam 請求參數(shù) * @return 響應(yīng)對象 */ public static HttpResponse post(String requestUrl, JSONObject jsonParam) { // HttpClient實例 HttpClient httpClient = HttpClients.createDefault(); // HTTP請求 HttpPost httpPost = new HttpPost(requestUrl); // 解決中文編碼問題 StringEntity entity = new StringEntity(jsonParam.toString(), "utf-8"); entity.setContentEncoding("utf-8"); entity.setContentType("application/json"); httpPost.setEntity(entity); HttpResponse httpResponse = null; try { httpResponse = httpClient.execute(httpPost); } catch (IOException e) { e.printStackTrace(); } return httpResponse; }
在上述代碼中,我們首先使用HttpClients.createDefault()創(chuàng)建了一個HttpClient實例,并使用HttpPost來進行POST請求的發(fā)送。接著,我們將JSON格式的請求體設(shè)置到httpPost中,并將請求頭設(shè)置為JSON。最后,我們使用httpClient.execute(httpPost)來發(fā)送請求,返回響應(yīng)對象。