thymleaf 2

Http 메세지 Content/type에 따른 스프링에서 요청 data 바인딩 방법. 2023-05-20

클라이언트에서 서버로 data를 전송하는 방법은 총 3가지로 정리 할 수 있다. 1. 요청 쿼리 스트링(query string) 으로 보내지는 경우 즉 localhost:8080/new/?name=최동훈&age=24 이렇게 클라이언트에서 보내는 경우이다. 이 방식은 HTTP 메세지 바디에 아무런 내용을 넣지 않는 GET 메서드 형식으로 보낸다. 이 방식을 사용했을때 HTTP 메세지의 Content/type은 Content-Type: application/x-www-form-urlencoded 이다. 그런데 메세지 바디에는 아무값도 들어가 있지 않는다. *여기서 나는 의문점이 생겼다. HTTP 메세지의 Content/Type이 HTML 폼 태그에 post 메서드로 전송하는 사실은 같은데, 왜 메세지 바디에..

MVC vs RestController, 서버사이드 렌더링과 클라이언트 사이드 렌더링(feat. thymleaf, React) 2023-05-16 화요일

Spotify Api 를 사용하는 프로젝트를 하는중 머릿속에 스쳐가는 의문점이 떠올랐다. 발단은 이랬다. 배포를 하기 위해서는 서버의 코드와 클라이언트의 코드가 분리되어있을텐데 어떻게 AWS EC2로 배포를 하는거지? 나는 이것에 대한 정답을 MVC구조와 RestController 구조에서 찾게 되었다. 우선 내가 그토록 지겹도록 배웠던 전통적인 스프링 MVC 구조를 설명하자면 Controller 의 return 값으로 view page를 반환하면, 해당 Controller에서 Model.AddAttribute를 통해 받았던, Model 값을 뷰 템플릿 엔진을 통해 HTML 의 화면에 data를 바인딩(데이터를 입력해주는 것) 해주고 그 결과 페이지인 .html 페이지를 HTTP response를 통하여..