It will get infinite response because you are returning employeeDto, employeeDto has departmentDto and again departmentDto has employeeDtoList and so on this is going in infinte loop, you have only used JsonIgnore in entities not on dtos.and you are returning dto so You have to use @JsnoIgnore on Dto also.