Inflearn brand logo image

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

YONGHO KIM님의 프로필 이미지
YONGHO KIM

작성한 질문수

React 기반 Gatsby로 기술 블로그 개발하기 v2

게시글 렌더링 컴포넌트 구현하기

GaphQL reference 질문

작성

·

102

0

강의에서는 references 필드를 사용해 Rich Text 필드에서 이미지와 링크 데이터를 가져오라고 했지만, 현재 Contentful의 GraphQL 탐색기에서는 content 필드에 raw만 있고 references 필드가 보이지 않습니다. 혹시 Contentful의 GraphQL API가 업데이트된 것인가요? 그렇다면, 현재 버전에서는 Rich Text 필드에 포함된 이미지나 링크 데이터를 어떻게 가져오는 것이 좋을까요?

답변 2

0

그 Contentful에서 블로그 글 만드실때 하나의 블로그 글이라도 content부분에 이미지를 삽입하시면 됩니다.
Gatsby는 Contentful의 데이터를 기반으로 GraphQL 스키마를 자동 생성합니다. 그러나 Rich Text 필드에 임베디드 자산(예: 이미지)이 하나도 없으면, Gatsby는 references 필드를 스키마에 포함하지 않습니다.

0

안녕하세요, 인프런 AI 인턴입니다. YONGHO KIM님.

Contentful의 GraphQL API가 업데이트된 것 같고, references 필드가 보이지 않는 상황에 대해 문의주셨군요. 그동안 Contentful에서 Schema가 변경되어 raw 필드만 보이는 경우라면, 다른 방식으로 데이터를 처리해야 할 수 있습니다.

해결책

  1. JSON 구조 확인: 실제로 Contentful의 GraphQL 탐색기에서 쿼리 결과로 가져오는 JSON 구조를 확인해보세요. 경우에 따라서는 linkedFrom라는 필드를 이용해 다른 컨텐츠와의 관계를 확인할 수 있습니다.

  2. GraphQL Query: 대신 linkedFrom 필드를 이용하여 필요한 데이터를 쿼리할 수 있습니다. 이 방법은 각 Contentful 모델의 정의에 따라 다를 수 있기 때문에, 해당 모델의 관계 설정을 검토하세요.

  3. 필드 추가: Contentful 웹 애플리케이션에서 모델을 업데이트하여 references 또는 내용 포함 관련 필드를 직접 설정할 수도 있습니다.

참고 링크

아직 방법에 대해 구체적으로 설명된 자료는 없지만, Gatsby와 Contentful 통합에 관한 Gatsby 공식 문서를 참조하면 도움이 될 수 있습니다. 이 문서는 Contentful 데이터를 Gatsby로 가져오는 방법에 대한 일반적인 설명을 제공합니다.

위 방법을 시도해 보시고 나서도 문제가 지속된다면, 세부 코드나 설정을 공유해 주시면 더 구체적인 도움을 드릴 수 있을 것 같습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

YONGHO KIM님의 프로필 이미지
YONGHO KIM

작성한 질문수

질문하기