Files
spring-framework/spring-web-reactive
Sebastien Deleuze d9b67f5e72 Use Mono semantics for JSON object/array serialization
Before this commit, a handler method returning a stream with a JSON
content-type was producing a JSON object for single element streams
or a JSON array for multiple elements streams.

This kind of dynamic change of the output based on the number of
elements was difficult to handle on client side and not consistent
with Spring MVC behavior.

With this commit, we achieve a more consistent behavior by using
the Mono semantics to control this behavior. Mono (and Promise/Single)
are serialized to JSON object and Flux (and Observable/Stream) are
serialized to JSON array.
2016-01-12 11:31:18 +01:00
..
2015-08-08 03:57:29 -04:00
2015-07-09 13:42:48 +02:00
2015-08-08 03:57:29 -04:00
2015-08-08 03:57:29 -04:00
2015-09-22 12:14:02 +02:00

Spring Reactive is a sandbox for experimenting on the reactive support intended to be part of Spring Framework 5. For more information about this topic, you can have a look to Intro to Reactive programming and Reactive Web Applications talks.

Downloading Artifacts

Spring Reactive JAR dependency is available from Spring snapshot repository:

  • Repository URL: https://repo.spring.io/snapshot/
  • GroupId: org.springframework.reactive
  • ArtifactId: spring-reactive
  • Version: 0.1.0.BUILD-SNAPSHOT

Sample application

Spring Reactive Playground is a sample application based on Spring Reactive and on MongoDB, Couchbase and PostgreSQL Reactive database drivers.

Building from Source

Spring Reactive uses a Gradle-based build system. In the instructions below, ./gradlew is invoked from the root of the source tree and serves as a cross-platform, self-contained bootstrap mechanism for the build.

You can check the current build status on this Bamboo Spring Reactive build.

Prerequisites

Git and JDK 8 update 20 or later

Be sure that your JAVA_HOME environment variable points to the jdk1.8.0 folder extracted from the JDK download.

Install all spring-* jars into your local Maven cache

./gradlew install

Compile and test; build all jars, distribution zips, and docs

./gradlew build

Contributing

Feel free to send us your feedback on the issue tracker; Pull requests are welcome.

License

The Spring Reactive is released under version 2.0 of the Apache License.