Java HTTP是一種Java語言中的網絡協議,可以用來訪問Web服務器。如果我們想要從Java應用程序中向服務器發出JSON數據請求,我們可以使用Java HTTP。下面是一個例子:
String jsonInputString = "{\"name\": \"John\", \"age\": 30, \"city\": \"New York\"}"; URL url = new URL("https://example.com/api/users"); HttpURLConnection conn = (HttpURLConnection)url.openConnection(); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/json; utf-8"); conn.setRequestProperty("Accept", "application/json"); conn.setDoOutput(true); try(OutputStream os = conn.getOutputStream()) { byte[] input = jsonInputString.getBytes("utf-8"); os.write(input, 0, input.length); } catch (IOException e) { e.printStackTrace(); } try(BufferedReader br = new BufferedReader( new InputStreamReader(conn.getInputStream(), "utf-8"))) { StringBuilder response = new StringBuilder(); String responseLine = null; while ((responseLine = br.readLine()) != null) { response.append(responseLine.trim()); } System.out.println(response.toString()); }
在上面的代碼中,我們首先定義了要發送的JSON輸入字符串。然后,我們創建了一個URL對象,指向我們要訪問的API端點。接著,我們創建了HttpURLConnection對象,并設置了請求的方法(POST)和請求頭,指定了請求體內容類型為JSON格式。接下來,我們打開了一個輸出流,將JSON輸入字符串寫入請求體中。最后,我們讀取了服務器的響應并在控制臺中輸出。在這個例子中,我們使用了try-with-resources語句,確保所有資源都能被正確關閉。