카테고리 없음
GraphQL
namu445
2022. 5. 11. 15:05
- API에 사용하는 쿼리 언어입니다.
- 서버에서 실행하고 사용됩니다.
- 쿼리외에 다른 언어로도 사용이 가능합니다.
- 서버에서 정한 양식에 맞게 request 쿼리를 보내면 그에 맞는 response를 받을 수 있습니다.
- 클라이언트는 서버에서 정한 request 양식에서 원하는 데이터만 선택해서 받을 수 있습니다.
- 최적화가 잘된 GraphQL은 대규모 서비스에 유리합니다.(SNS) -> 네트워크 비용을 절약할 수 있습니다.
- 양식이 정해져 있지 않기 때문에 자유로운만큼 최적화를 위한 사용법이 잘못되면 오히려 낭비가 생기거나 의도치 않은 오류를 낼 수 있다.
- 내부 에러가 발생해도 response status code는 항상 200이다. 에러 메세지로 에러를 구분할 수 있다.
- 클라이언트는 서버에서 정한 request 양식에서 원하는 데이터만 선택해서 받을 수 있습니다.
- restAPI와 같이 사용할 수 있다.
- end-point(클라이언트의 요청에 대응하는 서버측 지점)가 하나다.
- 엔드 포인트는 하나지만 여러개의 api를 한번에 요청할 수 있다.
- 아래의 예시는 hero의 name과 friends, friends의 name 정보를 요청하고 잇습니다.
//request { hero { name friends { name } } } |
//response { "data": { "hero": { "name": "R2-D2", "friends": [ { "name": "Luke Skywalker" }, { "name": "Han Solo" }, { "name": "Leia Organa" } ] } } } |
- 객체와 필드에 함수와 같이 인수를 사용할 수 있습니다.
- 아래 예시에서 height의 unit 인수는 응답을 meter로 받을 지 feet로 받을지 알려주는 인수로 추측할 수 있습니다.
//request { human(id: "1000") { name height(unit: FOOT) } } |
//response { "data": { "human": { "name": "Luke Skywalker", "height": 5.6430448 } } } |
<참고>
Introduction to GraphQL | GraphQL
Introduction to GraphQL Learn about GraphQL, how it works, and how to use it. Looking for documentation on how to build a GraphQL service? There are libraries to help you implement GraphQL in many different languages. For an in-depth learning experience wi
graphql.org
https://medium.com/nerd-for-tech/graphql-vs-restful-e1a99fd14285
GraphQL vs. RESTful
When it comes to API’s most people are initially introduced to and continue to utilize RESTful conventions, but GraphQL has been getting…
medium.com