Read the tutorial : https://www.callicoder.com/reactive-rest-apis-spring-webflux-reactive-mongo/
-
Java - 11
-
Maven - 3.x.x
-
MongoDB - 3.x.x
1. Clone the application
git clone https://github.com/callicoder/spring-webflux-reactive-rest-api-demo.git
2. Build and run the app using maven
cd spring-webflux-reactive-rest-api-demo
mvn package
java -jar target/webflux-demo-0.0.1-SNAPSHOT.jar
Alternatively, you can run the app without packaging it using -
mvn spring-boot:run
The server will start at http://localhost:8080.
The application defines following REST APIs
1. GET /tweets - Get All Tweets
2. POST /tweets - Create a new Tweet
3. GET /tweets/{id} - Retrieve a Tweet by Id
3. PUT /tweets/{id} - Update a Tweet
4. DELETE /tweets/{id} - Delete a Tweet
4. GET /stream/tweets - Stream tweets to a browser as Server-Sent Events
The project also contains integration tests for all the Rest APIs. For running the integration tests, go to the root directory of the project and type mvn test
in your terminal.