It happens to me that I am bound to use light 4j . I couldn't find a simple example of a simple CRUD service in entire source code base of light 4j.
All there examples simply return dummy response in their handler.
None of them have actually injected a service and perform any logic .
Q1) Is anyone aware of any documentation or sample source code of light 4j which is complete in terms of CRUD operation including how to inject services with multiple implementation ? PS : There documentation just display how to get ALL the implementations of a Service and not a SINGLE implementation out of many.
Q2) The actual question : How to convert a very simple JSON Request body to a JAVA POJO object .
The worst of all possibility I found out is this .
Map<String, Object> bodyMap = (Map<String, Object>) exchange
.getAttachment(BodyHandler.REQUEST_BODY);
AccontRegisterRequest request = new AccontRegisterRequest();
request.setDob(LocalDate.parse((String) bodyMap.get("dob")));
request.setName((String) bodyMap.get("name"));
request.setInitialDeposite(
Float.parseFloat((String) bodyMap.get("initialDeposite")));
Request Payload
{
"name" : "Some Name",
"dob" : "1999-02-02",
"initialAmount" : 10000
}
Please dont recommend of adding a key in this JSON like this :
{
"somekey like body" : {
... and here goes by previous json
}
}
Because this BodyHandler is UN-NECESSARILY reading the input stream and converts it into a linkedHasMap.
So I cannot simply read the request input stream in my logic and pass it to JACKSON mapper to create my POJO.
Please help me to get me rid of this .