Designing and implementing a RESTful API layer with Spring Boot is important but there is another important point with this approach which is the documentation of this API layer. As there is no contract is present for RESTful services like there is for SOAP services, documentation of RESTful services becomes crucial from development perspective.
This RESTful API documentation should be structured for all parties involved in the implementation. It should be easy to be read and understood and it should be informative enough to make APIs clear for everyone.
Servers should tell clients what can be the next step or avoid them to define static end-point rules on client side in RESTful API world. Spring HATEOAS is doing just the exact case to serve clients what the next steps are during run-time by with providing hypermedia driven RESTful APIs.
Before giving a code example, let’s examine what is Spring HATEOAS and what are the benefits using it.
HATEOAS stands for Hypermedia as the Engine of Application State and it is giving an overview to the client about the next steps with the URI of the referenced objects dynamically and…
GitHub has a very useful, simple, and efficient tool to manage and work with your containers. This tool is called GitHub Container Registry (GHCR). Containers can be easily published/pushed & consumed/pulled within your private repository or within your organization repository via using the GHCR tool.
I will try to mention how to use GHCR in a quick & simple way for your essential needs when you need to work with Docker container images. You can use these GHCR containers in your private repository or in your organization's repository. …
Mapping from entities to DTOs and vice versa is always required within multi-layered applications for transferring data between services/processes. How these mappings is implemented is also another important topic from development perspective as it can have impacts on performance or even on code quality & code readability.
MapStruct is a powerful processor which can map between beans and which can create concrete implementation methods during compile time. I will mention about using MapStruct for mapping MongoDB entities to DTOs and vice versa within Quarkus in this article.
Also, I am sharing the all code base from my GitHub account.
On one side we have supersonic, subatomic Java framework, Quarkus and on the other side cross-platform document oriented NoSql database, MongoDB. So, it must be fun to integrate these two platforms with each other and executes our application in a supersonic way.
Quarkus is being developed by Red Hat in Java and it is a full-stack, Kubernetes-native Java application framework.
The best two functionalities that I like about Quarkus are;
I often use this handy shell to make experiments with my code or to try new things. Below screenshot is the welcome screen for jshell and you need JDK 9 or above in order to execute it. Just go to bin folder and type jshell and here you enter the world or REPL shell screen.
I have three magical keywords to design, implement, test and maintain all levels of software architecture from different perspectives. These words are “simple”, “reusable” and “generic”. I use these words not only in professional life and also I try to use them in my daily life. I believe these three magical words are keys to success and one should use all three words in order to succeed !!!
There are four main or famous ways or methodologies explaining how to make an efficient & successful software development implementation.
I am generally hearing from juniors or fresh starters that they want to be a manager as their upcoming professional goal. And, generally management sounds better than leading to most of us. Even titles in professional life are shaped according to this belief, “manager” title is generally top of “leader” title in most company organization charts.
A Humble Human | A Software Craftsman | A GitKraken Ambassador | A TOGAF 9 Certified Architect | An Integration & Full-Stack Enthusiast | A Chess Lover