import akka.actor.ActorSystem; import akka.http.javadsl.Http; import akka.http.javadsl.model.HttpRequest; import akka.http.javadsl.model.HttpResponse; import akka.japi.function.Function; import akka.stream.ActorMaterializer; import akka.stream.Materializer; import java.util.concurrent.CompletionStage; public class Main { public static void main(String[] args) { ActorSystem system = ActorSystem.create(); Materializer materializer = ActorMaterializer.create(system); Function<HttpRequest, CompletionStage<HttpResponse>> route = request -> CompletableFuture.supplyAsync(() -> { return HttpResponse.create().withEntity("Hello, World!"); }, system.dispatcher()); Http.get(system).bindAndHandleAsync( route::apply, ConnectHttp.toHost("localhost", 8080), materializer ); System.out.println("Server online at http://localhost:8080/"); } } import akka.actor.ActorSystem; import akka.http.javadsl.Http; import akka.http.javadsl.model.HttpRequest; import akka.http.javadsl.model.HttpResponse; import akka.http.javadsl.server.RoutingDsl; import akka.stream.ActorMaterializer; import akka.stream.Materializer; import java.util.concurrent.CompletionStage; public class Main { public static void main(String[] args) { ActorSystem system = ActorSystem.create(); Materializer materializer = ActorMaterializer.create(system); RoutingDsl routing = new RoutingDsl(); routing.get(() -> routing.path("hello", () -> routing.complete("Hello, World!") ) ); Function<HttpRequest, CompletionStage<HttpResponse>> route = routing.create(); Http.get(system).bindAndHandleAsync( route::apply, ConnectHttp.toHost("localhost", 8080), materializer ); System.out.println("Server online at http://localhost:8080/"); } } import akka.actor.ActorRef; import akka.actor.ActorSystem; import akka.actor.Props; import akka.http.javadsl.Http; import akka.http.javadsl.model.HttpRequest; import akka.http.javadsl.model.HttpResponse; import akka.http.javadsl.server.AllDirectives; import akka.stream.ActorMaterializer; import akka.stream.Materializer; import java.util.concurrent.CompletionStage; public class Main extends AllDirectives { private class RequestHandler extends AbstractActor { @Override public Receive createReceive() { return receiveBuilder() .match(HttpRequest.class, request -> { sender().tell(HttpResponse.create().withEntity("Hello, World!"), self()); }) .build(); } } public static void main(String[] args) { ActorSystem system = ActorSystem.create(); Materializer materializer = ActorMaterializer.create(system); ActorRef requestHandler = system.actorOf(Props.create(RequestHandler.class)); Main main = new Main(); Route route = main.route( get(() -> path("hello", () -> completeWithInstance(requestHandler, HttpRequest.class, materializer) ) ) ); Http.get(system).bindAndHandle(route.flow(system, materializer), ConnectHttp.toHost("localhost", 8080)); System.out.println("Server online at http://localhost:8080/"); } }


上一篇:
下一篇:
切换中文