
@RestController
public class MovieController {
private final MovieRepository movieRepository;
public MovieController(MovieRepository movieRepository) {
this.movieRepository = movieRepository;
}
// Notice the return type
@GetMapping("/movies")
public Flux<Movie> getAllMovies() {
return movieRepository.findAll();
}
}
Cuando los requisitos de la aplicación exigen un procesamiento de datos de alto rendimiento, WebFlux es una solución ideal.
Persistencia de Java con Spring Data
Spring Data es un marco altamente sofisticado y consciente de la persistencia que se ha ido perfeccionando a lo largo de los años. Además de soportar Java API de persistencia de YakartaSpring proporciona una entrada fácil a enfoques más nuevos, como la siguiente clase de repositorio. Tenga en cuenta que esta clase no requiere ninguna anotación porque Spring Boot reconoce que es una subclase de una clase base de persistencia:
import org.springframework.data.repository.reactive.ReactiveCrudRepository;
public interface MovieRepository extends ReactiveCrudRepository<Movie, String> {
// You define the method signature; Spring Data R2DBC provides the implementation
Flux<Movie> findByGenre(String genre);
}
Este código utiliza Resorte R2DBCuna biblioteca de conexión de bases de datos relacionales que utiliza controladores reactivos asíncronos. Lo bueno es que el motor en sí proporciona la implementación basada en los campos y métodos del objeto de datos; Como desarrollador, no es necesario que implemente el findByGenre método.




