LearningByExample / Reactive Ms Example
Licence: mit
An educational project to learn reactive programming with Spring 5
Stars: ✭ 157
Projects that are alternatives of or similar to Reactive Ms Example
KotlinReactiveMS
An educational project to learn reactive programming with Spring 5 and Kotlin
Stars: ✭ 33 (-78.98%)
Mutual labels: reactive, reactive-streams, reactive-programming, reactor, api-rest, apis
assembler
Functional, type-safe, stateless reactive Java API for efficient implementation of the API Composition Pattern for querying/merging data from multiple datasources/services, with a specific focus on solving the N + 1 query problem
Stars: ✭ 102 (-35.03%)
Mutual labels: reactive, reactive-streams, reactive-programming, reactor
Spring Cloud Gateway
A Gateway built on Spring Framework 5.x and Spring Boot 2.x providing routing and more.
Stars: ✭ 3,305 (+2005.1%)
Mutual labels: microservices, reactor, spring-boot, spring
Spring Reactive Sample
Spring 5 Reactive playground
Stars: ✭ 867 (+452.23%)
Mutual labels: reactive-streams, reactor, spring-boot, spring
Spring Webflux Reactive Rest Api Demo
Build Reactive Rest APIs with Spring WebFlux and Reactive Mongo
Stars: ✭ 117 (-25.48%)
Mutual labels: reactive-programming, reactive-streams, reactor, spring-boot
Gemini
Model Driven REST framework to automatically generate CRUD APIs
Stars: ✭ 138 (-12.1%)
Mutual labels: microservices, api-rest, spring-boot, spring
Reactive Spring Security 5 Workshop
Hands-On workshop for securing a reactive spring boot 2 application in multiple steps
Stars: ✭ 92 (-41.4%)
Mutual labels: reactive-streams, spring-boot, spring
Whatsmars
Java生态研究(Spring Boot + Redis + Dubbo + RocketMQ + Elasticsearch)🔥🔥🔥🔥🔥
Stars: ✭ 1,389 (+784.71%)
Mutual labels: microservices, spring-boot, spring
Jetlinks Community
JetLinks 基于Java8,Spring Boot 2.x ,WebFlux,Netty,Vert.x,Reactor等开发, 是一个全响应式的企业级物联网平台。支持统一物模型管理,多种设备,多种厂家,统一管理。统一设备连接管理,多协议适配(TCP,MQTT,UDP,CoAP,HTTP等),屏蔽网络编程复杂性,灵活接入不同厂家不同协议等设备。实时数据处理,设备告警,消息通知,数据转发。地理位置,数据可视化等。能帮助你快速建立物联网相关业务系统。
Stars: ✭ 2,405 (+1431.85%)
Mutual labels: reactive-streams, reactor, spring-boot
Okta Blog Archive
Okta Developer Blog
Stars: ✭ 74 (-52.87%)
Mutual labels: microservices, spring-boot, spring
Webfluxtemplate
Spring Webflux template application with working Spring Security, Web-sockets, Rest, Web MVC, and Authentication with JWT.
Stars: ✭ 107 (-31.85%)
Mutual labels: reactive, spring-boot, spring
Spring Cloud Build
Common build concerns, shared plugin configuration, etc. for Spring Cloud modules
Stars: ✭ 114 (-27.39%)
Mutual labels: microservices, spring-boot, spring
Spring 5 Examples
This repository is contains spring-boot 2 / spring framework 5 project examples. Using reactive programming model / paradigm and Kotlin
Stars: ✭ 87 (-44.59%)
Mutual labels: reactive-programming, reactor, spring-boot
Spring Cloud Cloudfoundry
Integration between Cloudfoundry and the Spring Cloud APIs
Stars: ✭ 83 (-47.13%)
Mutual labels: microservices, spring-boot, spring
Reactor Netty
TCP/HTTP/UDP/QUIC client/server with Reactor over Netty
Stars: ✭ 1,743 (+1010.19%)
Mutual labels: reactive, reactive-streams, reactor
Hex Arch Kotlin Spring Boot
Reference JVM multi module project for a reactive micro service and lambda using a hexagonal architecture, DDD, Kotlin, Spring Boot, Quarkus, Lambda, Gradle.
Stars: ✭ 83 (-47.13%)
Mutual labels: reactive, spring-boot, spring
Spring Cloud Sleuth
Distributed tracing for spring cloud
Stars: ✭ 1,531 (+875.16%)
Mutual labels: microservices, spring-boot, spring
Rsocket Rpc Java
Standard RSocket RPC Java Implementation
Stars: ✭ 126 (-19.75%)
Mutual labels: reactive, reactive-programming, reactive-streams
Spring Cloud Config
External configuration (server and client) for Spring Cloud
Stars: ✭ 1,740 (+1008.28%)
Mutual labels: microservices, spring-boot, spring
Reactive Micro Services Example
info
This is an example of doing reactive MicroServices using spring 5 functional web framework and spring boot 2.
There is a Kotlin fork of this service.
This service provide and API that will get the geo location and the sunrise and sunset times from an address.
Scenario: Get Location
Given I've an address
When I call the location service
Then I should get a geo location
And I should get the sunrise and sunset times
To implement this example we consume a couple of REST APIs.
This example cover several topics:
- Functional programing.
- Reactive types.
- Router Functions.
- Static Web-Content.
- Creation on Reactive Java Services/Components.
- Error handling in routes and services.
- Reactive Web Client to consume external REST Services.
- Organizing your project in manageable packaging.
Includes and in depth look to testing using JUnit5:
- Unit, Integration and System tests.
- Mocking, including reactive functions and JSON responses.
- BDD style assertions.
- Test tags with maven profiles.
usage
To run this service:
$ mvnw spring-boot:run
Sample requests
Get from address
$ curl -X GET "http://localhost:8080/api/location/Trafalgar%20Square%2C%20London%2C%20England" -H "accept: application/json"
Post from JSON
$ curl -X POST "http://localhost:8080/api/location" -H "accept: application/json" -H "content-type: application/json" -d "{ \"address\": \"Trafalgar Square, London, England\"}"
Both will produce something like:
{
"geographicCoordinates": {
"latitude": 51.508039,
"longitude": -0.128069
},
"sunriseSunset": {
"sunrise": "2017-05-21T03:59:08+00:00",
"sunset": "2017-05-21T19:55:11+00:00"
}
}
All date and times are ISO 8601 UTC without summer time adjustment
API
View in the embedded Swagger UI
Project Structure
-
main/java
- /application : Main Spring boot application and context configuration.
- /routers : Reactive routing functions.
- /handlers : Handlers used by the routers.
- /services : Services for the business logic needed by handlers.
- /exceptions : Businesses exceptions.
- /model : POJOs.
- test/java
References
- https://spring.io/blog/2016/09/22/new-in-spring-5-functional-web-framework
- https://spring.io/blog/2017/02/23/spring-framework-5-0-m5-update
- http://junit.org/junit5/docs/current/user-guide/#running-tests-build-maven
- https://github.com/junit-team/junit5-samples
- https://developers.google.com/maps/documentation/geocoding/intro
- https://sunrise-sunset.org/api
- https://en.wikipedia.org/wiki/ISO_8601
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].