2020/06/18 Medium 블로그에 작성한 내용 이사🚗
데이터를 변경, 추출, 생성하는 구조이다.
해당 클래스가 REST 컨트롤러임을 의미
컨트롤러는 애플리케이션 전체의 처리를 컨트롤하기 위한 것
특수한 컨트롤러로 클라이언트에 텍스트를 출력하는 것
템플릿을 이용해서 HTML 페이지를 렌더링하고 표시하는 페이지에 사용
이 주소에 접속하면 이 메서드를 실행해~
리퀘스트 핸들러 : 특정 메서드레 접속하면 호출되는 메서드
(value=주소, method=메서드) 지정 가능
Response(서버에서 클라이언트에 전송한 내용)를 객체로 설정할 수
있게 함.
ModelAndView : 데이터 관리하는 모델과 화면 출력 관련 뷰를 한 번에
처리
Request에 전달된 매개변수 값을 나타내기 위한 것
폼이 전송한 값은 이 어노테이션을 설정한 인수에 자동으로 전달된다.
required=false 설정하면 해당 매개변수 없어도 오류 X
이 클래스가 스프링 부트의 애플리케이션 클래스라는 것을 의미
스프링 MVC에는 컴포넌트 스캔 기능이 있는데 어노테이션만 정의해두면 프로그램에서 사용하는 컴포넌트 자동으로 적용해서 사용할 수 있게 함
@RequestMapping(“/{num}”)이라고 되어 있을 때, 여기서 {num} 부분이 매개변수이다.
이 인수가 매개변수에 의해 값을 전달받는다를 뜻함
애플리케이션의 제어 : 특정 주소에 접속했을 때 실행되는 처리
즉 특정 URL에 접속했을 때 해당 URL과 연결된 메서드 실행할 수 있게 됨
RestController 클래스는 String을 반환값으로 지정하고 있지만 이것을 클래스로 변경할 수도 있다! 자바 인스턴스를 JSON 형식의 텍스트로 변환해서 출력하는데 이는 스프링 부트에서 자동으로 처리한다. 우리는 인스턴스만 반환해주면 된다!
@Controller
페이지를 미리 템플릿으로 준비
템플릿용 라이브러리 사용
웹 페이지에서 사용할 데이터를 관리하는 클래스
템플릿에서 사용할 데이터 일괄 관리
뷰 관련 정보(템플릿 이름 등)을가지고 있지 않으니 반환값으로는 사용
불가 = 템플릿 정보 없음
model.addAttribute(값의 이름, 저장할 값)
forward : 서버 내부에서 다른 페이지 읽어 표시, 즉 접속하는 주소는 그대로이고 표시하는 내용만 다른 체이지로 바뀜
redirect : 클라이언트 측에 전송한 후 다른페이지로 이동시키는 것, 즉 접속하는 주소와 이동 위치 모두 변경됨