[JAVA] Essayez le tutoriel Spring WebFlux

introduction

Veuillez pardonner le fait qu'il s'agit d'une mauvaise description car c'est le premier message. : bow_tone1: J'ai récemment appris le mot "Spring WebFlux", donc je vais y revenir à travers le tutoriel.

Qu'est-ce que WebFlux

Spring WebFlux est un framework Web fourni par Spring qui effectue un traitement non bloquant. Tu peux le faire. En gros, j'ai compris que c'est un mécanisme qui permet un traitement efficace tout en économisant des threads.

Que faire cette fois

Je voudrais essayer le tutoriel sur la page suivante. Building a Reactive RESTful Web Service

Environnement de développement ・ Code Visual Studio ・ AdoptezOpenJDK 11.0.5 + 10

1. Préparation

Clonez le code source localement.

$ git clone https://github.com/spring-guides/gs-reactive-rest-service.git
Cloning into 'gs-reactive-rest-service'...
remote: Enumerating objects: 21, done.
remote: Counting objects: 100% (21/21), done.
remote: Compressing objects: 100% (15/15), done.
remote: Total 822 (delta 6), reused 14 (delta 5), pack-reused 801
Receiving objects: 100% (822/822), 408.59 KiB | 771.00 KiB/s, done.
Resolving deltas: 100% (553/553), done.

Puisqu'il est développé avec vscode, ouvrez le dossier développé. Menu: Fichier> Ouvrir> dossier gs-reactive-rest-service cloné

2. Créez un gestionnaire WebFlux.

Créez un nouveau GreetingHandler.java sous ʻinitial / src / main / java / hello`.

GreetingHandler.java


package hello;

import org.springframework.http.MediaType;
import org.springframework.stereotype.Component;
import org.springframework.web.reactive.function.BodyInserters;
import org.springframework.web.reactive.function.server.ServerRequest;
import org.springframework.web.reactive.function.server.ServerResponse;

import reactor.core.publisher.Mono;

@Component
public class GreetingHandler {

  public Mono<ServerResponse> hello(ServerRequest request) {
    return ServerResponse.ok().contentType(MediaType.TEXT_PLAIN)
      .body(BodyInserters.fromObject("Hello, Spring!"));
  }
}

3. Créez un routeur.

Créez un nouveau GreetingRouter.java sous ʻinitial / src / main / java / hello`.

GreetingRouter.java


package hello;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.MediaType;
import org.springframework.web.reactive.function.server.RequestPredicates;
import org.springframework.web.reactive.function.server.RouterFunction;
import org.springframework.web.reactive.function.server.RouterFunctions;
import org.springframework.web.reactive.function.server.ServerResponse;

@Configuration
public class GreetingRouter {

  @Bean
  public RouterFunction<ServerResponse> route(GreetingHandler greetingHandler) {

    return RouterFunctions
      .route(RequestPredicates.GET("/hello").and(RequestPredicates.accept(MediaType.TEXT_PLAIN)), greetingHandler::hello);
  }
}

4. Créez un client Web.

Créez un nouveau GreetingWebClient.java sous ʻinitial / src / main / java / hello`.

GreetingWebClient


package hello;

import org.springframework.http.MediaType;
import org.springframework.web.reactive.function.client.ClientResponse;
import org.springframework.web.reactive.function.client.WebClient;

import reactor.core.publisher.Mono;

public class GreetingWebClient {
  private WebClient client = WebClient.create("http://localhost:8080");

  private Mono<ClientResponse> result = client.get()
      .uri("/hello")
      .accept(MediaType.TEXT_PLAIN)
      .exchange();

  public String getResult() {
    return ">> result = " + result.flatMap(res -> res.bodyToMono(String.class)).block();
  }
}

5. Autorisez l'application à s'exécuter.

Créez un nouveau Application.java sous ʻinitial / src / main / java / hello`.

Application.java


package hello;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {

  public static void main(String[] args) {
    SpringApplication.run(Application.class, args);

    GreetingWebClient gwc = new GreetingWebClient();
    System.out.println(gwc.getResult());
  }
}

6. Essayez-le.

Cliquez avec le bouton droit sur Application.java et sélectionnez Exécuter et vous verrez le message suivant dans le terminal: >> result = Hello, Spring WebFlux! De même, si vous ouvrez http: // localhost: 8080 / hello dans votre navigateur, vous verrez le même message.

finalement

Merci d'avoir lu jusqu'au bout. Je suis intéressé par une programmation similaire à moi, mais j'espère que cela aidera les gens qui n'en ont aucune idée.

Recommended Posts

Essayez le tutoriel Spring WebFlux
Essayons le tutoriel S2Struts (# 3_180425)
Essayons le tutoriel S2Struts (# 5_180526)
Essayons le tutoriel S2Struts (# 4_180505)
Essayons le tutoriel S2Struts (# 1_180423)
Essayons le tutoriel S2Struts (# 2_180424)
Essayons le tutoriel S2Struts (# 0_yymmdd)
[Tutoriel] Spring Batch
Essayez d'appeler le service CORBA depuis Spring (Java)
Essayez d'utiliser Spring JDBC
Essayez d'exécuter Spring Cloud Config pour le moment
Essayez Spring Boot de 0 à 100.
Calendrier des tâches du didacticiel Spring Boot
Essayez d'utiliser l'API de recherche de code postal avec Spring Boot
Essayez d'implémenter une session WebFlux
Essayez d'utiliser Spring Boot Security
Essayez d'implémenter un filtre WebFlux
Essayez Spring Boot sur Mac
Spring Boot pour la première fois
Tutoriel Spring Boot à l'aide de l'authentification Spring Security
Mémo après le premier projet Spring-MVC-
Intégration du serveur de configuration dans Spring Cloud Config
Essayez d'utiliser le système de messagerie Pulsar
Essayez d'exécuter Spring Boot sur Kubernetes
Tracez le tutoriel Datomic avec Datascript
Spring AOP pour la première fois
Mémo après le premier projet Spring-Database-
Filtrer le résultat de BindingResult [Spring]