백엔드 클론코딩 5조
face book clone coding제목 | 설명 |
---|---|
cors | 교차 리소스 공유 |
dotenv | DB비밀번호, 시크릿키 암호화 |
jsonwebtoken | 회원가입 작동 방식 |
sequelize | MySQL ORM |
mysql | MySQL |
multer | 파일처리 |
multer-s3 | s3에 파일저장 |
aws-sdk | 자바스크립트용 aws서비스사용 |
crypto | 비밀번호 해쉬화 |
swagger-autogen | 스웨거 자동생성 |
sharp | 이미지 리사이징 |
front 의 생각: 이미지 파일만 multi part form 으로 넘기고 나머지 data는 body로 넘긴다. back 의 생각 : 모두다 multi part form 으로 받는다. ORM sequelize를 사용했는데 첫날 model 관계 설정에 에러사항이 있엇다. 관계들을 명확히 설정하고 필요한 컬럼들을 초기부터 최대한 완벽하게 설정하는게 좋을 듯 하다. swagger autogen을 사용해 자동으로 생성하면 폼데이터 형식의 입력 값은 설정되지 않기때문에 직접 설정을 해줘야 한다. 문법 자체를 swagger hub에서 검색을 하여 찾아서 설정하였다. mockReturnValue를 사용하는데 promise.resolve 형태로 어떤 원하는 리턴값을 정해주면 된다. 조이를 스키마 자체를 분리하여 미들웨어 형식으로 설정하여 사용하였는데 각각의 스키마의 프로퍼티 들에 대해서 에러 메세지를 달리 출력하고 싶었다. 이 에러메세지의 커스터 마이징 하는부분을 구현하려 했으나 잘 안되었다. 스웨거의 Security옵션을 사용하여 로그인을 하여 토큰값을 넣어서 로그인 상태로 만들었다. 코맨트를 가져오는 함수를 하나더 만들어서 해당 게시글을의 ID값을 주고 코맨트의 배열을 만들어서 개시글 정보안에 코맨트 배열을 더넣어서 주었다. Ex { "postId": 41, "userId": 43, "content": "테스트합니다!!!~!", "userName": "이대한", "insertDt": "2021-10-22 03:29:18", "image": "", "comment": [], "commentCnt": 0, "likeCnt": 6, "like": true }, 게시물(post) response에 게미시물외에 댓글과 좋아요를 리스트화 시켜서 프론트에 보내줄때, commentget과 likesget를 선언해주고 값을 불러와서 게시물에 리스트화시켜서 보내주려고 했는데, 댓글과 좋아요는 포스트에 바로 연결되어 붙어 있는 항목이 아니라서 처음 시도할때는 값을 불러오지를 못했다. 하지만 터미널에서 게시물안에 있는 리스트를 확인을 했더니 dataValues라는 값 밑에 댓글과 좋아요 기능이 리스트화 되서 포함되어 있는 것을 확인을 해서 post.commment값이 아닌 post.dataValues.comment 이런 형식으로 dataValues를 가운데 넣어주어야 기능이 작동을 하였다.