[SpringBoot] 어노테이션 정리 & Controller에 대해

✨New Wisdom✨·2020년 11월 15일
0

📕 SpringBoot 📕

목록 보기
4/8
post-thumbnail

2020/06/18 Medium 블로그에 작성한 내용 이사🚗

@ 몇 가지 어노테이션

@RestController(REST 컨트롤러)

Q. 먼저 REST 란?

A. REpresetational State Transfer의 약자로 HTTP의 URL 구조를 사용해서

데이터를 변경, 추출, 생성하는 구조이다.
해당 클래스가 REST 컨트롤러임을 의미
컨트롤러는 애플리케이션 전체의 처리를 컨트롤하기 위한 것
특수한 컨트롤러로 클라이언트에 텍스트를 출력하는 것

@Controller

템플릿을 이용해서 HTML 페이지를 렌더링하고 표시하는 페이지에 사용

@RequestMapping(리퀘스트 매핑)

이 주소에 접속하면 이 메서드를 실행해~
리퀘스트 핸들러 : 특정 메서드레 접속하면 호출되는 메서드
(value=주소, method=메서드) 지정 가능

@ResponseBody

Response(서버에서 클라이언트에 전송한 내용)를 객체로 설정할 수
있게 함.
ModelAndView : 데이터 관리하는 모델과 화면 출력 관련 뷰를 한 번에
처리

@RequestParam

Request에 전달된 매개변수 값을 나타내기 위한 것
폼이 전송한 값은 이 어노테이션을 설정한 인수에 자동으로 전달된다.
required=false 설정하면 해당 매개변수 없어도 오류 X

@SpringBootApplication

이 클래스가 스프링 부트의 애플리케이션 클래스라는 것을 의미
스프링 MVC에는 컴포넌트 스캔 기능이 있는데 어노테이션만 정의해두면 프로그램에서 사용하는 컴포넌트 자동으로 적용해서 사용할 수 있게 함

@PathVariable

@RequestMapping(“/{num}”)이라고 되어 있을 때, 여기서 {num} 부분이 매개변수이다.
이 인수가 매개변수에 의해 값을 전달받는다를 뜻함

Controller Class에 대하여..🤔

Controller의 역할?

애플리케이션의 제어 : 특정 주소에 접속했을 때 실행되는 처리
즉 특정 URL에 접속했을 때 해당 URL과 연결된 메서드 실행할 수 있게 됨

객체를 JSON으로 출력하기

RestController 클래스는 String을 반환값으로 지정하고 있지만 이것을 클래스로 변경할 수도 있다! 자바 인스턴스를 JSON 형식의 텍스트로 변환해서 출력하는데 이는 스프링 부트에서 자동으로 처리한다. 우리는 인스턴스만 반환해주면 된다!

Controller 클래스 사용법

@Controller
페이지를 미리 템플릿으로 준비
템플릿용 라이브러리 사용

Model 클래스

웹 페이지에서 사용할 데이터를 관리하는 클래스
템플릿에서 사용할 데이터 일괄 관리
뷰 관련 정보(템플릿 이름 등)을가지고 있지 않으니 반환값으로는 사용
불가 = 템플릿 정보 없음
model.addAttribute(값의 이름, 저장할 값)

forward와 redirect

forward : 서버 내부에서 다른 페이지 읽어 표시, 즉 접속하는 주소는 그대로이고 표시하는 내용만 다른 체이지로 바뀜
redirect : 클라이언트 측에 전송한 후 다른페이지로 이동시키는 것, 즉 접속하는 주소와 이동 위치 모두 변경됨

profile
🚛 블로그 이사합니다 https://newwisdom.tistory.com/

0개의 댓글