팥빵 먹으면서 코딩하는 블로그

controller 00. 본문

study/JAVA SPRING

controller 00.

김팥빵_ 2024. 8. 29. 13:06

- controller란?

 

client의 요청을 처리한 후 지정된 view에 model 객체를 넘겨주는 역할을 한다.

controller는 http 요청을 처리하는데, 하나의 컨트롤러를 사용하면 과부하가 걸릴 수 있으므로

세분화, 분배하여 controller를 나누어 logic을 짜는 것이 중요하다.

 

요약) client(모바일, 웹 브라우저 등)가 웹 서버에 데이터나 .html파일과 같은 파일을 요청할 때

웹 서버의 컨트롤러는 DB에 GET(SELECT), POST(INSERT), PUT(UPDATE), DELETE로 요청하고,

DB로부터 응답을 받아 client에게 응답해준다.

 

 

- controller의 종류

@Controller //file을 응답하는 컨트롤러 - client가 브라우저면 .html 파일을
@RestController //data를 응답하는 컨트롤러 - client가 휴대폰이면 data를

 

01. Controller는 .html과 같은 파일을 응답해주는 컨트롤러이다.

-> client가 "웹 브라우저" 일 때 사용한다.

 

02. RestController는 data를 응답해주는 컨트롤러이다.

-> client가 "모바일"일 때 사용한다.

 

주의** 두 컨트롤러 annotation은 중복사용되지 않으므로 하나만 설정해준다.

 

 

- http 요청 응답하기

 

각 4가지 요청(GET, POST, PUT, DELETE)을 메소드 앞에 Mapping을 붙인 annotation으로 적어준다.

그 다음 해당 요청이 실행되게 할 경로(end point)를 지정해준다.

 

01. @Controller일 때는 return에 적은 값이 / resources 폴더 내부의 파일명이 된다.

02. @RestController일 때는 return에 적은 값이 / data가 된다.

 

http://localhost:8080 이 주소 다음부터 end point를 지정한 method들이 실행된다.

***만약 서버 주소(8080)을 바꿔주고 싶다면

해당 프로젝트의 resources파일의 application.properties에 들어가 server.port = 9090(9090은 임시)을 적어주면 된다.

'study > JAVA SPRING' 카테고리의 다른 글

spring에 대하여  (0) 2024.08.29
Object Mapper  (0) 2024.08.29
controller 05 - RESPONSE  (0) 2024.08.29
controller 04 - delete  (0) 2024.08.28
controller 03 - PUT  (0) 2024.08.28