• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

안녕하세요 route 쪽 주소 질문입니다!

22.04.11 22:48 작성 조회수 128

0

 

안녕하세요 강의를 보면서 한가지 궁금한 점이 생겼습니다.

저는 강의를 진행하다가 

GET /user/2/posts?lastId=0 200 38.841 ms - 3117

GET /user/2 500 16.997 ms - 2228

 

라는 에러를 직면했는데요,

게시글은 가져오지만 작성자의 정보는 가져오지 못하더라구요..!

 

해당 에러는 ssr 처리를 위해 작성했던 동적 주소를

router.get('/:userId', async (req, res, next) => {})
// 위에서 아래로 변경했습니다.
router.get('/:id', async (req, res, next) => {})

로 변경을 하니까 해결이 됐습니다.

그런데 해당 에러가 뜬 이유가 혹시 이 강의에서 특정 유저의 게시글을 불러오는 주소에 :userId 를 적어주었기 때문인가요??

같은 라우터에서 같은 동적 주소가 사용되면 문제가 생기나요?

제 코드는

router.get('/:userId/posts', async (req, res, next) => {})

이 강의에서 작업한 유저의 포스트를 불러오는 라우터가 상단에,

router.get('/:userId', async (req, res, next) => {})

SSR 을 위한 유저 정보를 가져오는 라우터가 맨 하단에 위치해 있었습니다!

 

제 생각으로는 /:userId 가 겹쳐서 하단에 라우터가 500에러가 뜬거라는 생각이 드는데... 제 생각이 맞을까요?

맞다면 같은 라우터에 같은 동적 주소를 사용하면 안되는건가요??

(하나의 라우팅 주소, 노드 라우팅 주소 규칙 등.. 구글링 해봤지만 잘 찾지 못하겠어서 질문드립니다 ㅠㅠ)

답변 1

답변을 작성해보세요.

1

아뇨 문제 없습니다. :userId인데도 아래에서는 req.params.id를 하신 것 아닐까요?

tjffldi123님의 프로필

tjffldi123

질문자

2022.04.11

와 제로초님..맞았습니다 ㅠㅠ 의혹이 풀렸네요.. params.id 로 불러오고 있었습니다. 다른 라우터에선 겹쳐서 사용해도 괜찮은데 SSR 처리를 위한 라우터는 좀 다른가 고민했었는데..ㅎㅎ 그냥 제 실수였군요ㅠㅠ 감사합니다!!!