본문 바로가기
프로젝트/Recipository

[Dev] 22.12.29. DB에 저장하고 Client에 출력할 작성자 정보 수정하기

by 규글 2022. 12. 29.

 말은 저렇게 되어있지만, 근본적인 문제는 DB에 저장할 작성자의 정보만을 올바르게 setting 해주면 되는 부분이다. 바로 작업으로 들어가자.

 

 

작업

 현재 client에서 게시글을 작성하고 댓글을 작성하는 요청에 대한 처리를 하는 controller의 method 모습이다. 내용은 좀 다르지만 공통적으로 Authentication Principal 객체의 username 항목을 작성자의 정보로 넣어주고 있다. 이때의 username은 로그인 과정에서 작성했던 로그인 아이디의 정보이다. 하지만 원래의 목적은 아이디가 아닌 닉네임이 노출되도록 하고 싶었으므로, 더 작업하기 전에 현재의 작업을 약간 수정할 필요를 느꼈다.

 

 Authentication Principal에 해당하는 UserDetails를 implements한 SpUser의 name field가 회원 가입 시 입력했던 닉네임의 정보이다. 따라서 이 name 값을 Service 단으로 넘겨서 Recipe Entity의 writer에 setting 해주면 된다.

 

 단순히 작성자의 정보를 바꿔주는 것으로 원하는 수정사항을 달성했다. 물론 기존의 내용까지 수정할 수는 없지만, 지금은 개발 단계이기 때문에 작성자 정보가 다른 값으로 저장되고 출력되는 것만을 확인하고 넘어간다.

 

 

 이제 사용자의 정보를 확인하고 수정하는 등, 로그인한 사용자와 관련된 기능을 작업하도록 하겠다.

 

댓글