2 min to read
GraphQL

GraphQL 은 API 용 오픈 소스 데이터 쿼리 및 조작 언어 이며 기존 데이터로 쿼리를 수행하기 위한 런타임입니다. GraphQL은 2015 년에 공개되기 전에 2012 년 Facebook 에 의해 내부적으로 개발 되었습니다. 2018 년 11 월 7 일 GraphQL 프로젝트는 Facebook에서 비영리 Linux Foundation이 주최하는 새로 설립 된 GraphQL Foundation으로 옮겨졌습니다. 2012 년 이후 GraphQL의 상승은 GraphQL의 제작자 인 Lee Byron이 정한 채택 일정을 정확하게 따릅니다. 바이런의 목표는 웹 플랫폼에서 GraphQL을 독점적으로 만드는 것입니다.
웹 API 개발에 대한 접근 방식을 제공하며 REST 및 기타 웹 서비스 아키텍처 와 비교 및 대조되었습니다 . 클라이언트가 필요한 데이터의 구조를 정의 할 수 있으며 서버에서 동일한 구조의 데이터가 리턴되므로 지나치게 많은 양의 데이터가 리턴되는 것을 막을 수 있지만 이는 쿼리 결과의 웹 캐싱이 얼마나 효과적인지에 영향을 줍니다 . 쿼리 언어의 유연성과 풍부함은 단순한 API에는 적합하지 않은 복잡성을 추가합니다. 형식 시스템, 쿼리 언어 및 실행 의미, 정적 유효성 검사 및 형식 내부 검사로 구성됩니다.
GraphQL은 데이터 변경 (실시간 업데이트 – WebHooks를 사용하여 가장 일반적으로 구현)을 읽고, 쓰고 (mutating) 구독하는 것을 지원합니다. GraphQL 서버는 Haskell , JavaScript , Perl , Python , Ruby , Java , C ++ , C # , Scala , Go , Elixir , Erlang , PHP , R 및 Clojure.
2018 년 2 월 9 일 GraphQL 스키마 정의 언어 (SDL)가 사양의 일부가되었습니다.
Example
POST request:
{
orders {
id
productsList {
product {
name
price
}
quantity
}
totalAmount
}
}
Answer:
{
"data": {
"orders": [
{
"id": 1,
"productsList": [
{
"product": {
"name": "orange",
"price": 1.5
},
"quantity": 100
}
],
"totalAmount": 150
}
]
}
}
See also
References
https://graphql.org/
https://graphql-kr.github.io/
https://medium.com/@giljae/graphql-%EC%B1%84%ED%83%9D-%ED%9B%84-netflix%EA%B0%80-%EB%B0%B0%EC%9A%B4-%EA%B2%83%EB%93%A4-2443180096da
Comments