강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của smilerush
smilerush

câu hỏi đã được viết

Mã hóa Slack Clone [Trò chuyện trực tiếp với React]

Tạo kênh

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

Đã giải quyết

Viết

·

261

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 값들을 다 구해서 넣어보았는데도,

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

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

    웹팩Socket.iobabelreacttypescript클론코딩

    Câu trả lời 2

    0

    SmileRush님의 프로필 이미지
    SmileRush
    Người đặt câu hỏi

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

    <!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?

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

    zerocho님의 프로필 이미지
    zerocho
    Người chia sẻ kiến thức

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

    SmileRush님의 프로필 이미지
    SmileRush
    Người đặt câu hỏi

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

    0

    zerocho님의 프로필 이미지
    zerocho
    Người chia sẻ kiến thức

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

    Hình ảnh hồ sơ của smilerush
    smilerush

    câu hỏi đã được viết

    Đặt câu hỏi