Wecode - Project 3 (부트캠프)/Project 3 독학

CRUD with token -> layered -> postman 통신 3) **

JBS 12 2023. 10. 17. 02:22

project 3 시작하기 전 주말부터 한 것

1.  CRUD 코드 생성 (app.js 단일) --> 작성 

2. CRUD layered pattern 적용

3. CRUD 코드 생성 (app.js 단일) _ (header에서 verify token 코드 주석처리) --> postman 통신 시도 --> 성공 

4. CRUD 코드 생성 (app.js 단일)_ header에서 verify token 코드 살리고 -->  postman 통신 시도 --> 코드  수정 -->  성공 

5.  layered pattern 적용된 CRUD _ header에서 verify token 4번에서 수정/완성된 코드로 수정 -->  postman 통신 시도 --> 코드  수정 -->  성공 

 

 

4번 

 

CRUD with token ; postman 통신

[postman] Api 주소 createPost, createpost 상관없는지 -> url은 소문자가 법칙 [postman header에 token 담기] Auth에 안 해도 되고 bearer 안해도 되고 Tests 안 해도 되고 environment - global 전역변수 안 해도 되고 Headers

pm-developer-justdoit.tistory.com

 

이 포스팅은 5번에 해당 

 

 

코드와 api, router, endpoint, req.body에 보내는 값

모두 같지만 

서버를 끊고 돌리는 것에 따라 postman에 통신 각각 가능하다. 

 

 

그리고 app.js에서 문제 없던 코드를 

내가 Layered pattern 으로 잘 나누었는지 보려고 해도, 

서버를 켜서 작동 시키면 된다.

 

 

control + c : 서버 끄기 

node app.js (nodemon app.js) :서버 켜기 


서버 연결 후 postman 통신 

 

1. postman에 주소 찍기

 

2. postman에 돌려봄 

console.log로 어디까지 넘어갔는지 봄 

console.log(1)를 하는 이유가 -> 다 흰 글씨라서, 식별용 

 

userController 지나서

userService 까지 감. 

 

중간중간 console.log 찍어봄으로써 어디까지 갔는지 볼 수 있음

그리고, 넣은 값이 찍히는지도 알 수 있음 

userDao isconntectd도 갔다는 건 데이터베이스가 연결됐다는 거고 

 

이렇게 어디서 어떤 에러인지 모르는게, 

catch (error) {
throw error;
}

이렇게만 해서 파악이 안 된다. 

 

주석 한꺼번에 => command + / 

 

 

오류 bcrypt 불러오는 게 없음 

 

비밀번호 해쉬를 하는 곳에서만 bcrypt 불러오면 됨,

쓰이는 곳에선 필요 없음

 

service단에서 비밀번호를 해쉬해서

dao에 가져가서 비밀번호를 저장한다. 

 

--> 즉, userDao에는 필요없고, userService에 const bcrypt = require('bcrypt');

필요 

 

 


router 연결 오류들 해결 

 

 

오류 1.

app.js에서 routes 위치를 잘못 주었다

const routes = require("./src/routes"); 인데 

const routes = require("./routes"); 로 함 --> app.js와 동일선상은 routes가 아니라 src임 

 

 

오류 2. console.log(newData) 찍으니 not defined라고 오류 

당연히 데이터 안 넣어서 ㅇㅇ 

그래서 console.log는 지우면 됨 

 

 

그러면 자동으로 초록 글씨로 오류 해결되어 서버 시작하다가

또 다음의 오류를 내보내준다 (하나씩) 

 

 

const { id}  로 감싸는 이유 -> 객체에 담긴 id를 꺼내기 때문 


const userData = jwt.verify(token, process.env.TYPEORM_JWT);
const id = userData.id 를 합친 코드 

그래서 console.log ( {id} ) 가 아니라, console.log (id)


 

 

 

이렇게 했는데도 계속 에러