https://berativ.com/java-springboot-best-practice-dtos/