• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

백엔드 /api/users/{id}의 응답 데이터에 Followers가 없습니다.

24.06.13 17:03 작성 조회수 85

0

안녕하세요. 강사님😎

유저 프로필 페이지의 팔로우 버튼을 구현 중에 있었습니다.

예제를 따라하던 중 아래 캡처 이미지와 같이 API /api/users/{id} 의 응답 데이터에 Followers 객체가 없는걸 확인했습니다..

Followers 정보가 없어 세션과 비교하여 팔로잉 여부를 체크할 수가 없네요.

제가 API나 코드를 잘 못 구현하고 있는걸까요?ㅠㅠ

(스웨거 및 query-devtool)

강의 영상에는 존재하고요.


추가질문

공부를 집에서는 데스크탑, 카페에서 노트북으로 하다보니 서버를 각각 피씨에 띄우는게 번거로워 하나의 서버를 바라보게 하려고 했습니다.

그래서 개인 서버에 docker형태로 BE서버를 동작시켜 사용하려고 했습니다. 서버는 정상적으로 구동했으나 API 중 인증(로그인)이 필요한 API는 모두 403으로 응답이 오네요ㅠㅠ

 

방식.
로컬next(localhost:3000) -> 외부.BE서버(be-server:9090) 호출

 

nest를 알지 못해 깊게 분석은 못해봤고 소스의

logged-in-guard.ts 에 request를 로그로 찍으니 cookie부분이 가 비어 있습니다.

import { CanActivate, ExecutionContext, Injectable } from '@nestjs/common';
import { Observable } from 'rxjs';

@Injectable()
export class LoggedInGuard implements CanActivate {
  canActivate(
    context: ExecutionContext,
  ): boolean | Promise<boolean> | Observable<boolean> {
    const request = context.switchToHttp().getRequest();
    console.log(request)
    return request.user?.id && request.isAuthenticated();
  }
}

간단하게 해결이 가능하면 조언부탁드리며 아니면 무시해주셔도 됩니다.🙏

답변 1

답변을 작성해보세요.

0

Followers 객체가 없으면 팔로잉하지 않는 것입니다. 팔로잉을 한다면 Followers: [{ id: 내아이디 }] 이렇게 들어있습니다.

도메인이 다른 경우에는 쿠키 공유가 어렵다보시면 됩니다(https가 아니라면 더더욱요) 프론트에서 프록시 설정을 해주시는 방법은 있습니다.

채널톡 아이콘