A java.net.http.HttpClient osztály a Java 11-ben lett bevezetve. Előtte a java.net.HttpUrlConnection osztályt használtuk.
A HttpClient osztály használata rövidebb kódot eredményez.
import java.io.IOException; import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.net.http.HttpResponse.BodyHandlers; import java.util.ArrayList; import java.util.Arrays; import com.google.gson.Gson; import com.google.gson.GsonBuilder; public class App { public static void main(String[] args) throws Exception { String text = getEmployees(); printName(text); } public static String getEmployees() throws IOException, InterruptedException { HttpClient client = HttpClient.newHttpClient(); HttpRequest request = HttpRequest.newBuilder() .uri( URI.create("http://[::1]:3000/employees")) .build(); HttpResponse<String> response = client.send(request, BodyHandlers.ofString()); String text = response.body(); return text; } public static void printName(String text) { GsonBuilder builder = new GsonBuilder(); builder.setPrettyPrinting(); Gson gson = builder.create(); Employee[] employeeArray = gson.fromJson(text, Employee[].class); ArrayList<Employee> list = new ArrayList<>(Arrays.asList(employeeArray)); for(Employee employee: list) { System.out.println(employee.name); } } }
import java.io.IOException; import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.net.http.HttpResponse.BodyHandlers; import java.util.ArrayList; import java.util.Arrays; import java.util.concurrent.CompletableFuture; import com.google.gson.Gson; import com.google.gson.GsonBuilder; public class App { public static void main(String[] args) throws Exception { String text = getEmployees().join(); printNames(text); } public static CompletableFuture<String> getEmployees() throws IOException, InterruptedException { HttpClient client = HttpClient.newHttpClient(); HttpRequest request = HttpRequest.newBuilder() .uri( URI.create("http://[::1]:3000/employees")) .build(); return client.sendAsync(request, BodyHandlers.ofString()) .thenApply(HttpResponse::body); } public static void printNames(String text) { GsonBuilder builder = new GsonBuilder(); builder.setPrettyPrinting(); Gson gson = builder.create(); Employee[] employeeArray = gson.fromJson(text, Employee[].class); ArrayList<Employee> list = new ArrayList<>(Arrays.asList(employeeArray)); for(Employee employee: list) { System.out.println(employee.name); } } }
request.setHeader(HttpHeaders.CONTENT_TYPE,"application/json"); request.setHeader(HttpHeaders.AUTHORIZATION, "Bearer " + token);
import java.net.http.HttpRequest; //... String token = "sdfasdfas"; HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("http://valahol")) .GET() .header("Authorization", "Bearer " + token) .build();