This is an example application running on Java 8 using the following...
Client
Server
The goal is to use RxJava for Grails and RxGORM for REST so that our domain classes can be backed by a microservice instead of a database. (I also wanted to try out micronaut for the microservice)
When accessing
http://localhost:8080/employee/show/1,
Chrome developer tools indicate that an HTTP status of 200 [OK]
is being
returned to the browser.
However, the client app fails to render the
show
view.
The micronaut server seems to work as does the communication between the client and server. For example, when requesting a client URL, such as http://localhost:8080/employee/show/1, logging indicates the following:
- the client is sending the request to the server
- the server is receiving the request from the client
- the server is sending the response to the client
- the client is receiving the response from the server
The client runs on http://localhost:8080
and was generated by:
$ curl -O start.grails.org/client.zip -d version=3.3.5 -d features=events,geb2
I added the following lines to build.gradle
in the dependencies
section:
compile "org.grails.plugins:rx-gorm-rest-client:1.1.0.RELEASE"
compile "org.grails.plugins:rxjava2:2.0.0"
I added the following lines to application.yml
:
---
grails:
gorm:
rest:
host: http://localhost:3030
log:
level: TRACE
Controller and views were generated by:
$ ./grailsw generate-rx-all Employee
The client.EmployeeController
was slightly modified to add logging to the
show
action. The original, generated action behaves similarly, as does the
index
action. Other actions were unused and removed for simplicity.
The the server runs on http://localhost:3030
and was generated by:
$ mn create-app server --features groovy
Added the following lines to application.yml
:
---
micronaut:
server:
port: 3030
A server.Employee
object,
with a name
field, and a
server.EmployeeController
were written. They are very simple.