https://medium.com/mindroast/my-experience-with-developing-api-using-java-spring-boot-coding-9f876962fb74