Spring Boot: study.diary : 역할(ROLE) 관리 기능 추가

일기 프로그램에 무슨 역할이 필요있겠어? 개인이 로그인해서 일기를 작성하고, 내가 작성한 일기를 볼 수 있으면 되었지. 그런데, 가만 생각해보니 회원 관리 기능을 넣는다면 역할 관리가 필요하겠더라고. 권한과 역할은 엄밀히 말해서 다른거야. 이 포스트에서는 권한이 아닌 역할(ROLE)을 관리하는 방법에 대해서 알아보는거야. 그래서 이번 포스트에서는 diary 프로그램에 역할 관리 기능을 넣어보려고 해. 역할 관리 기반 구조 작성 … Read more

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