WEB/Spring

컨트롤러의 리턴타입과 예외처리

dev-hyeonnnnn 2022. 12. 9. 08:50
  • 컨트롤러의 리턴타입
    - 컨트롤러가 사용자에게 응답하는 데이터 형태이다.
    - 가장 많이 사용하는 타입으로는 String타입, 객체타입, ResponseEntity타입이 있다.

    리턴타입 종류
    - String 타입 : 결과를 화면으로 응답할 경우에 사용한다.
    - 객체타입 : 결과를 복합적인 데이터로 응답할 경우에 사용한다.
    - ResponseEntity 타입 : 상태코드와 데이터를 직접 정의하여 응답할 경우에 사용한다.

 

String 타입
- 결과를 화면으로 보여줄 때 사용한다
- JSP(뷰) 파일의 경로를 반환한다.

 

객체 타입
- 결과를 복합적인 데이터로 응답할 때 사용한다.
- 순수한 데이터만 보여주고자 할때 사용한다.
- 객체를 JSON데이터로 변환하여 반환한다.
- @ResponseBody 어노테이션과 함께 사용한다

 

ResponseEntity
- HTTP 상태코드와 데이터를 직접 정의하여 응답할 경우에 사용한다.
- 원하는 메세지 또는 데이터를 전달한다.

 

컨트롤러에서 예외 상황은 무엇인가?
- 404, 500 에러코드가 발생하는 것을 말한다.

 

404코드
- 잘못된 URL을 호출할때 보이는 에러코드이다.

 

500코드
- 프로그램 코드를 수행하다가 도중에 에러가 발생할때 보이는 에러코드이다.

 

예외는 어떻게 처리해야 하는가?
- 에러가 발생하면 사용자가 정의한 별도의 에러페이지를 보여준다.

 

@ControllerAdvice : 해당 클래스에서 예외를 처리하겠다는 의미이다.
@ExceptionHandler : 해당 메소드에서 예외를 처리하겠다는 의미, 괄호 안에 예외클래스를 처리한다.

 

  • 예외처리 과정