inflearn logo
강의

Khóa học

Chia sẻ kiến thức

[CodeCamp] Khóa học Front-end cô đặc được tạo ra từ Bootcamp

03-Cơ bản về truyền thông dữ liệu

강사님 REST API와 GraphQL에 관하여 질문이 있습니다.

Đã giải quyết

156

pgt324

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

0

graphql의 장점이 딱 원하는 데이터만 가져온다는 것은 이해가 되는데, REST API도 딱 원하는 DB 컬럼만 요청해서 가져오거나 할 수도 있지 않나요? 이게 어떠한 차이가 있나 궁금합니다. ㅎㅎ

react node.js seo graphql next.js restapi

Câu trả lời 2

1

nwd09074926

안녕하세요! 건태님!

 

REST-API의 경우에는, 백엔드 개발자분이 API를 만드실 때, DB에서 원하는 데이터를 골라와서 API의 응답으로 프론트엔드에 전달해주게 됩니다!
따라서, 백엔드 입장에서는 DB에서 원하는 데이터를 골라올 수 있지만,
프론트엔드 입장에서는 백엔드 API에서 응답으로 보내주는 데이터를 통째로 받아와야 하지요!

 

하지만, GRAPHQL을 사용하게 되면,
프론트엔드 입장에서도 백엔드 API에서 응답으로 보내주는 데이터를 골라서 받을 수 있답니다!

0

communityai8509

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

건태님, REST API와 GraphQL에 대한 질문 주셨군요. 말씀주신 대로, REST API를 사용할 때도 특정 DB 컬럼만 요청해서 가져오는 것은 가능합니다. 이러한 기능을 제공하기 위해서는 백엔드에서 해당 API를 구현할 때, 요청에 따른 다양한 쿼리 옵션을 제공하고 처리할 수 있는 로직을 추가해야 합니다. 그렇게 함으로써 클라이언트가 필요로 하는 데이터를 정확히 요청하고 응답받을 수 있습니다.

반면, GraphQL은 클라이언트가 요청을 보낼 때부터 정확히 필요한 데이터의 구조를 명시할 수 있게 해주며, 서버는 요청받은 구조대로 데이터를 구성해 응답합니다. 이로 인해 클라이언트와 서버 간의 오버페칭(불필요한 데이터를 받는 경우)이나 언더페칭(필요한 데이터를 한 번에 받지 못해 여러 번 요청해야 하는 경우)의 문제를 더 효율적으로 해결할 수 있습니다. GraphQL은 이러한 방식으로 API 요청의 유연성을 극대화하고, 네트워크 사용을 최적화할 수 있게 돕습니다.

즉, REST API에서도 비슷한 결과를 얻을 수 있으나, 개발자가 API 별로 그러한 기능을 구현해주어야 합니다. 반면, GraphQL은 이를 기본적으로 지원하기 때문에 보다 직관적이고 효율적으로 필요한 데이터만을 요청하고 응답받는 것을 가능하게 합니다.

더 자세한 내용이나 사용 예제가 궁금하시다면 Spring for GraphQL와 관련된 Spring Boot의 자료를 참고하실 수 있습니다. Spring Boot에서는 spring-boot-starter-graphql을 사용하여 GraphQL 개발을 쉽게 시작할 수 있습니다.

자세히 보기

fetchBoardsOfMine, fetchBoardsCountOfMine 에러 문의드립니다

0

36

1

댓글 기능 구현 중 질문드립니다.

0

66

1

쿠폰코드 발급

0

132

2

example 서버 플레이그라운드, API 접속 모두 안됩니다.

0

86

2

문의드립니다!! ㅠㅠ

0

101

2

graphql 백엔드 서버가 포폴용 빼곤 접속이 안됩니다.

0

76

2

_app.js 작성 이후로 에러가 발생하네요

0

93

2

학습자료

0

70

2

학습자료가 안열립니다.

0

49

2

플레이 그라운드 퀴즈 문제 질문이 있습니다.

0

59

0

기존강의 구매자, 업데이트 끝인가요?

0

109

3

업데이트 버전 수강

0

88

2

완벽한 프론트엔드

0

136

2

나만의 쇼핑몰 샘플 페이지 접속 확인부탁드립니다.

0

83

1

graphql 접속이 안됩니다.

0

100

2

const, let 사용 질문 드립니다.

0

70

2

싸이월드 만들기 1탄 피드백 부탁드립니다.

0

122

2

회원가입 과제 피드백 부탁드립니다.

0

80

2

styled.span / styled.input "CSS 자동완성"

0

47

1

쿠폰 발급 관련

0

166

2

서버 502 error

0

247

2

쿠폰 다시 부탁드려도 될가여?

0

140

2

a태그 패딩했을때 왜 크기가 줄어들지 않고 늘어나나요

0

184

2

2분 44초 질문

0

131

3