Spring Boot: study.diary : RestController 에서 ResponseEntity 를 리턴하자.

diary 프로젝트에서 @RestController 애노테이션을 붙여서 작성한 클래스는 DiaryController 하나뿐이야. 이 클래스에서 정의한 5개의 함수 리턴값을 보면 void 이거나 Diary, List 로 이루어져 있지. Rest API 를 작성하는 이유는 웹을 통해서 요청을 하고 그 요청에 대한 응답을 하는건데, 응답이 이렇게 천차만별이면 응답처리가 좀 불편하겠지. 물론 @RestController 애노테이션을 붙이면 모든 메소드가 @ResponseBody 가 자동으로 붙어서 동작하기 때문에 … Read more

Thymeleaf: fragment 로 구획 정리

diary 프로그램 화면의 기본 레이아웃은 아래 그림과 같아. 빨간색 사각형 영역이 네비게이터, 파란색 사각형 영역이 컨텐츠, 초록색 사각형 영역이 풋터야. 현재 코딩되어 있는 thymeleaf 용 템플릿 파일 home.html, write.html, editdiary.html 에는 모두 네비게이터, 컨텐츠, 풋터에 해당되는 html 태그들이 중복적으로 들어가있어. 심지어 home.html 파일에 들어가있는 네비게이터 영역의 html 태그들과 write.html 파일에 들어있는 네비게이터 영역의 html 태그가 … Read more

Spring Boot: study.diary 객체의 사용

오늘은 주고받을 데이터에 객체를 사용하는 방법에 대해서 알아볼까 해. Spring Boot: study.diary : json 형식으로 Rest API 에게 전송 포스트에서는 클라이언트에서 올린 json 형식의 데이터를 Map<String, Object> 형식으로 수신받았어. 클라이언트에서 올린 json 데이터가 일기 수정 폼의 모든 필드 항목을 뽑아내어 json 으로 만들었기 때문에 아래와 같은 값이었다고 해볼께. Rest API 에서 이 데이터를 Map<String, Object> … Read more

Spring Boot: study.diary : json 형식으로 Rest API 에게 전송

Spring Boot: study.diary : ajax 를 이용한 Rest API 호출로 view 와 data 분리 에서 최종적으로 만든 코드는 Rest API 를 호출할 때 application/x-www-form-urlencoded 형식의 content-type 으로 전송하는 예제였어. application/x-www-form-urlencoded 형식의 데이터는 _csrf=26906007-6d4e-4470-b76f-189dc827fa2d&_method=PUT&diary_date=2024-03-05&diary_content=4444 와 같이 key=value&key=value 형식으로 데이터가 이루어졌어. 반면에 application/json 형식의 데이터는 {_csrf: ‘49543209-c640-4c87-9c04-6e70334c5150’, _method: ‘PUT’, diary_date: ‘2024-03-05’, diary_content: 4444} 와 같이 이루어지지. Rest … Read more

Spring Boot: study.diary : ajax 를 이용한 Rest API 호출로 view 와 data 분리

일기 데이터를 수정하고 저장하는 editdiary.html 에 ajax JQuery 함수를 적용시켜볼께. 이미 작성된 일기 데이터를 읽어들여 보여주고, 수정한 후에 “저장” 버튼을 누르면 form 태그의 action URL 로 전송되는 구조였어. 이때의 action URL 은 PUT method 인 /diary/{id} 이고 DiaryController 클래스에 구현되어 있지. 이 구조를 “저장” 버튼을 클릭했을 때 ajax 함수를 호출하여 데이터를 저장하는 Rest API 를 … Read more