Question d’entretien chez Infosys

What is the difference between @Controller and @RestController? What are the different type of annotations that we use in spring application? Why we use @Service annotation and @Repository annotations and use cases?