그래프QL

GraphQL
그래프QL
GraphQL Logo.svg
개발자페이스북, 커뮤니티
초기 릴리즈2015년 9월 14일 (2015-09-14)
안정적 해제
2018년 6월(2018-06)[1]
리포지토리github.com/graphql/graphql-spec
기록 위치Java, JavaScript, Ruby, Scala 등에 구현.
운영 체제크로스 플랫폼
웹사이트graphql.org

GraphQLAPI를 위한 오픈소스 데이터 조회조작 언어, 기존 데이터로 쿼리를 이행하기 위한 런타임이다.[2]그래프QL은 페이스북이 2012년 내부적으로 개발한 뒤 2015년 공개됐다.[3]2018년 11월 7일, GraphQL 프로젝트는 페이스북에서 비영리 Linux 재단이 주최하는 새롭게 설립된 GraphQL 재단으로 이전되었다.[4][5]2012년부터 GraphQL의 상승은 GraphQL의 창시자인 Lee Byron이 정한 채택 연대표를 정확하게 따르고 있다.[6]Byron의 목표는 웹 플랫폼을 통해 GraphQL을 보편적으로 만드는 것이다.null

웹 API 개발에 대한 접근방식을 제공하며, REST 및 기타 웹 서비스 아키텍처와 비교 및 대조되었다.고객이 요구하는 데이터의 구조를 정의할 수 있도록 하고, 동일한 데이터 구조가 서버에서 반환되므로 지나치게 많은 양의 데이터가 반환되는 것을 방지하지만, 이는 쿼리 결과의 웹 캐싱이 얼마나 효과적인지 함축하고 있다.질의 언어의 유연성과 풍부함 또한 단순한 API에는 가치가 없을 수 있는 복잡성을 더한다.[7][8][9]이름에도 불구하고, GraphQL은 네오4j와 같은 본격적인 그래프 데이터베이스나 심지어 전이적 폐쇄를 지원하는 SQL의 방언에서도 찾을 수 있는 그래프 작업의 풍부함을 제공하지 않는다.예를 들어, 개인의 부모를 보고하는 GraphQL 인터페이스는 한 번의 질의로 모든 조상의 집합을 반환할 수 없다.null

GraphQL은 유형 시스템, 질의 언어 및 실행 의미론, 정적 검증 및 유형 내성으로 구성된다.데이터(실시간 업데이트 - 가장 일반적으로 Websockets를 사용하여 구현)에 대한 읽기, 쓰기(수정) 및 변경에 대한 구독을 지원한다.[10]GraphQL 서버는 Haskell,[11] JavaScript,[12] Perl,[13] Python,[14] Ruby, Java, C++,[15] C#, Scala, Go, Rust, Elixir,[16] Erlang, PHP, R, D[17], Clojure 등 다국어가 가능하다.null

2018년 2월 9일, SDL(GraphQL Schema Definition Language)이 규격의 일부가 되었다.[18]null

POST 요청:

{ 주문 { id productList { 제품 목록 {name price } 수량 } 총액 } }

응답:

{     "데이터": {         "주문": [             {                 "id": 1,                 "제품 목록": [                     {                         "제품": {                             "이름": "orange",                             "가격": 1.5                         },                         "quantity": 100                     }                 ],                 "총액": 150             }         ]     } } 

참고 항목

참조

  1. ^ "GraphQL June 2018 Release Notes". Retrieved 26 March 2019.
  2. ^ "GraphQL: A query language for APIs".
  3. ^ "GraphQL: A data query language". 14 September 2015.
  4. ^ "Facebook's GraphQL gets its own open-source foundation". TechCrunch. Retrieved 7 November 2018.
  5. ^ "The Linux Foundation Announces Intent to Form New Foundation to Support GraphQL - The Linux Foundation". The Linux Foundation. 6 November 2018. Retrieved 7 November 2018.
  6. ^ Anthony, Art (8 March 2018). "Is GraphQL Moving Toward Ubiquity?". NordicAPIs.
  7. ^ "GraphQL vs REST: Overview". Phil Sturgeon. Retrieved 25 November 2018.
  8. ^ "Why use GraphQL, good and bad reasons". Honest Engineering. 4 August 2018. Retrieved 26 November 2018.
  9. ^ "GraphQL Fundamentals". Howto GraphQL. Retrieved 4 July 2018.
  10. ^ "GraphQL". facebook.github.io. Facebook. Archived from the original on 18 July 2018. Retrieved 4 July 2018.
  11. ^ "Hasura – Instant Realtime GraphQL on Postgres". Hasura. Retrieved 24 October 2019.
  12. ^ "GraphQL js". 16 October 2021.
  13. ^ "GraphQL - Perl implementation of GraphQL".
  14. ^ "Graphene". graphene-python.org. Retrieved 18 June 2017.
  15. ^ graphql/libgraphqlparser, GraphQL, 27 May 2020, retrieved 30 May 2020
  16. ^ "Absinthe: The GraphQL toolkit for Elixir". Retrieved 19 July 2018.
  17. ^ "Package graphqld on DUB".
  18. ^ "GraphQL SDL included in Github repository".

외부 링크