@Controller와 @RestController

김채영·2023년 12월 15일

프레임워크

목록 보기
1/3

Controller어노테이션은 @Component를 구체화하여 만든 어노테이션으로 해당 클래스를 IoC컨테이너에 Bean으로 등록해주며 Controller로 사용된다는 것

@Controller

  • View를 리턴
  • 주로 HTML 페이지를 반환하고, ViewResolver를 통해 뷰 템플릿과 모델을 결합하여 HTML을 생성하는데 사용됨.
@Controller
public class UserController {

	@GetMapping("/")
    public String view() {
    	return "page"; //page.html로 이동
    }
    
}

@RestController

  • Json 데이터를 리턴
  • 주로 RESTful 웹 서비스에서 사용
  • 각 메소드의 반환 값은 HTTP응답으로 직접 전송
@RestController
public class UserController {

	@GetMapping("/") 
    public String data(){
    	return new myData("hello");
    }
    
}

Mapping 어노테이션

  • @RequestMapping: 특정 URL로 요청이 올 때 어떤 메소드를 처리할지 매핑해주는 어노테이션
  • @GetMapping: 데이터를 가져올 때 사용하는 어노테이션
  • @PostMapping: 데이터를 입력할 때 사용하는 어노테이션
  • @PutMapping: 데이터를 수정할 때 사용하는 어노테이션
  • @DeleteMapping: 데이터를 삭제할 때 사용하는 어노테이션

리다이렉션

다른 메소드를 재사용하고 사용하는 방법

@Controller
public class UserController {

	@GetMapping("/login")
    public String login() {
    	return "redirect:/Home"; //로그인이 완료되면 Home.html로 이동
    }
    
}

참고자료

https://myvelop.tistory.com/120

profile
백엔드 개발⭐

0개의 댓글