인프런 커뮤니티 질문&답변

SmileRush님의 프로필 이미지
SmileRush

작성한 질문수

Slack 클론 코딩[실시간 채팅 with React]

채널 만들기

채널에서 유저 내보내기 기능

해결된 질문

작성

·

173

1

back 폴더의 API router를 확인해보다가,

router.delete(

"workspaces/:workspace/channels/:channel/members/:id"

...)

이런 API를 보았습니다!

그래서 <InviteChannelModal />을 만들었듯이,

<DeleteChannelModal />을 만들어서,

유저 추가하기 버튼 옆에다가, 유저 내보내기 버튼도 만들어 보았습니다~

그런데 API에서 원하는 /:parameter에다가 제가 잘못된 값을 입력하는 것인지, 유저 내보내기 기능이 구현이 안되어서 질문을 드립니다~!

* 아래의 server측 router에,

    "workspaces/:workspace/channels/:channel/members/:id"

    아래의 client측 post요청 보냈습니다.

    "axios.post(`/api/workspaces/${workspace}/channels/${channel}/members/${id}`

    이 중에서,

    * :workspace , :channel 에는

    const { workspace, channel } = useParams()

    에서 값을 구해서 넣었습니다.

    * :id 에는 채널에 들어있는 유저 정보를 가져온 usersData

    const { data: usersData, revalidate: revalidateMembers } = useSWR(

      myData ? `/api/workspaces/${workspace}/channels/${channel}/members` : null,

      fetcher

    )

    useSWR로 가져온 usersData에 들어있는 각종 id 값들을 다 구해서 넣어보았는데도,

    기능이 작동이 안되는 듯 해서 ㅜㅜ

    정리정돈되지 않은 질문 죄송합니다 ㅜㅜ

    답변 2

    0

    SmileRush님의 프로필 이미지
    SmileRush
    질문자

    요청이 가긴 가고, 응답은 오는 것 같습니다~!

    <!DOCTYPE html>

    <html lang="en">

    <head>

    <meta charset="utf-8">

    <title>Error</title>

    </head>

    <body>

    <pre>Cannot POST /api/workspaces/new%20workspace/channels/%EC%B6%94%EB%B0%A9%EC%9A%A9/members/2</pre>

    </body>

    </html>

    이렇게 왔습니당.

    선생님이 짜놓은 back쪽 router가 이상할 리는 없고,

    아무래도 제가 보내는 client쪽 axios.post 요청을 잘못 보내는 것 같습니다 ㅜㅜ

    * axios.post(

      `/api/workspaces/${workspace}/channels/${channel}/members/${id}`

    )

    혹시 위의 강조표시한 ${id}에는 어떤 값을 보내면 되나용...?

    추방하고자 하는 유저의

    email?

    id?

    ChannelMembers.ChannelId?

    ChannelMembers.UserId?

    아니면 요 네개 전부다 아닌걸까용 ㅠㅠ

    제로초(조현영)님의 프로필 이미지
    제로초(조현영)
    지식공유자

    아이디가 맞습니다. 백엔드쪽 에러가 나는 것이라서 백엔드가 실행되고 있는 콘솔 들어가서 에러 메시지 확인해주세요. 보니까 워크스페이스 이름에 띄어쓰기가 있거나 그런 것 같은데 제가 그걸 고려하지 못했을 수도 있습니다.

    SmileRush님의 프로필 이미지
    SmileRush
    질문자

    아..! 넵 id를 입력하면 되는군요ㅎㅎ 설명 감사합니다. 너무 재밌습니다 ㅎㅎ 한번 요리조리 살펴보러 가겠습니다 늘 건강하세요 선생님~^^!

    0

    제로초(조현영)님의 프로필 이미지
    제로초(조현영)
    지식공유자

    네트워크탭에서 실제로 요청이 갔는지 확인해보세요.

    SmileRush님의 프로필 이미지
    SmileRush

    작성한 질문수

    질문하기