해결된 질문
작성
·
400
0
안녕하세요 제로초님 DB 시퀄라이즈 관계에 있어서 헷갈리는 상황에 직면하여 질문 남깁니다!
기존에 제로초님이 액션을 dispatch 할 때는 data 객체에 담긴 변수들이
와 같은 형식으로 data.postId (소문자로 작성됨) saga에서 백엔드 서버로 넘겨줄 때도
이런 식으로 data 객체 안에 들어있는 postId로 post.id를 넘겨 주었던 상황입니다.
그래서 프론트에서 `${data.postId}` 로 보내진 postId를 백엔드 라우터에서 '/:postId'로 받는다고 생각하고 이해한 상태였습니다.
그런데 이번 강의에서 게시글 수정하기(UpdatePost)를 하실 때 디스패치 시에 data.PostId로 보내주시더라구요.( postId로 객체를 바꿔서 보내도록 수정하여도 코드가 문제 없는 것은 확인을 했습니다!)
그럼에도 백엔드 라우터에서는 /:postId로 받는 부분을 보고 제가 어떤 부분을 잘못 이해했나 싶어서 질문 드립니다. req.parmas에는 PostId가 들어있을 텐데 어떻게 요청을 ${data.PostId}로 보내도 업데이트 라우터를 처리할 때 '/:PostId' 가 아닌 '/:postId' 로 받아져도 코드가 정상 작동하는 지가 궁금합니다. 와일드카드 관련 부분인가 하고 찾아봐도 그쪽이 아닌 것 같아 질문 남깁니다 ㅠㅠ
답변 2
1
/:postId는 그냥 이름입니다. data.PostId와 아무 상관도 없습니다. /:PostId로 하든 /:zerocho로 하든 자리만 맞으면 데이터가 들어옵니다.
/hello/:id
가 있으면 /hello/1을 하면 req.params.id가 1이 되는 것이죠. 애초에 서버는 프론트에서 data.PostId로 보내는지 data.postId로 보내는지 관심도 없습니다. 실제 데이터가 뭘로 전달되느냐만 보는거고요.
0