• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    해결됨

백엔드 서버 라우팅(/:postId) 파라미터 관련 질문

21.01.26 16:21 작성 조회수 275

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

junh0328님의 프로필

junh0328

질문자

2021.01.26

아 그렇군요 ㅠㅠ . 으로 객체를 받아와 계속 넘겨준다고 생각하고 있었네요.. 감사합니다!