Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor/thovy #1

Open
wants to merge 38 commits into
base: refactor/moon
Choose a base branch
from
Open

Refactor/thovy #1

wants to merge 38 commits into from

Conversation

thovy
Copy link
Contributor

@thovy thovy commented Dec 4, 2022

No description provided.

바로 삭제하기 전에 일단 주석처리 후 차근 차근 지우려 합니다. 다 지웠다가 중간 중간 살펴야 하는 수도 생길 것 같아서요.
테이블 칼럼을 변경했기 때문에 먼저 테이블이 만들어지는 것만 확인했습니다. 일단 대부분의 기능을 주석 처리하고 하나씩 풀어볼 예정입니다.
작동하는지 test 코드를 통해 test 해보아야 합니다. 아직 안 했습니다.
passwordEncoder 사용을 위해 securityConfig 파일을 만들어 BCrypt 를 선언해줬습니다.
TEST 코드를 이용해 USER create 를 TEST 했습니다. 성공적입니다.
OpenAPI 3.0 (swagger) 사용을 위해 properties 와 dependency 에 관련 코드를 추가했습니다.
아직 test는 해보지 않았습니다.
POST 작성 TEST 코드를 작성해 TEST 에 성공했습니다. emotion 은 미리 database 에 넣어놓고 database 에 있는 emotion 을 사용해야 test 가 제대로 동작합니다. createdate 와 updatedate 는 없어도 무방합니다.
security 에서 create 권한이 없어 생기던 403 에러를 해결했습니다. 하지만 csrf 를 disable 로 해놓았기 때문에 추후에 token 이나 다른 방법을 통해 조금 더 보안에 신경써야합니다. 지금 당장은 로컬에서만 만지니 상관 없겠지만.
빈 생성자가 없어 jackson library 가 500 error 가 나타냈는데, NoArgsConstructor annotation 을 추가해 빈 생성자를 생성하도록 해서 문제를 해결했습니다.

이제 USER 는 제대로 생성됩니다.
emotion 이 private 라서 lazy 로 삽입되지 않았습니다. protected 로 수정해서 emotion 이 들어갑니다.
post 전체 조회가 에러가 나면서 되지 않던 기능을 수정 했습니다. 200 인데 데이터를 불러오지 못하는 에러는 JsonIgnore 로, 500 에러는 LAZY 를 EAGER 로 수정해 해결했습니다.
CategoryId 를 이용해 선택적인 감정 조회 기능을 구현했습니다. 카테고리를 선택하면 해당 카테고리에 맞는 감정들만 표시하기 위한 기능입니다.
조건부 Post 검색을 위해 대대적인 수정을 하였습니다. 불필요하다고 생각되는 코드도 일단 지우거나 주석처리했습니다. index 가 userId나 postId 에서 id 로 바뀌었습니다. 대신 Column 어노테이션으로 userId, postId 라고 했습니다.
post READ 를 위한 기능입니다.
보안을 위해 가입시 password 을 encoding 한 뒤 저장되도록 했습니다.
email 과 pw 를 이용해 login 기능을 구현했습니다.
update 가 마음처럼 작동되지는 않고, delete 가 200 이 나오지만 삭제되지 않습니다. 후에 수정이 필요합니다.
Post 의 createDate 를 localdatime 형태에서 String 으로 바꿨습니다. 그래서 "yyMMdd" 형태로 프론트에서 보내도 date 를 받을 수 있도록 했습니다. 덕분에 LocalDateTime.now() 를 써서 null 값이 들어가던 에러도 해결되었습니다.
Emotion 을 List<Emotion> 으로 바꿔서 Post 하나에 여러 emotion 이 등록될 수 있도록 바꿨습니다. 프론트의 요청이었습니다.
post의 title 과 contents 속의 내용에 검색어 search 가 있으면 결과로 표시됩니다. 원래 emotion 의 word 를 넣으려했지만 실패했습니다. 후에 select 문만 수정하면 될 것 같습니다.
어렵다 생각했던 word 에 포함된 단어를 검색하는 것. sql 이 아니라 java 로 해결했습니다.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant