当前位置: 首页 > 软件库 > 大数据 > 数据查询 >

graphiql

授权协议 MIT License
开发语言 Java
所属分类 大数据、 数据查询
软件类型 开源软件
地区 不详
投 递 者 充鑫鹏
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Black Lives Matter ��

GraphQL IDE Monorepo

Note: The primary maintainer @acao is on hiatus until December 2020Looking for the GraphiQL Docs?: This is the root of the monorepo! The full GraphiQL docs are located at packages/graphiql

Build Status

Overview

GraphiQL is the reference implementation of this monorepo, GraphQL IDE, an official project under the GraphQL Foundation. The code uses the permissive MIT license.

Whether you want a simple GraphiQL IDE instance for your server, or a more advanced web or desktop GraphQL IDE experience for your framework or plugin, or you want to build an IDE extension or plugin, you've come to the right place!

The purpose of this monorepo is to give the GraphQL Community:

  • a to-specification official language service (see: API Docs)
  • a comprehensive LSP server and CLI service for use with IDEs
  • a codemirror mode
  • a monaco mode (in the works)
  • an example of how to use this ecosystem with GraphiQL.
  • examples of how to implement or extend GraphiQL.

Latest Stable Ecosystem

graphiql@1.0.x and ecosystem are organized as below. Any further changes to graphiql@1.0.x are made against 1.0.0 branch

Proposed Ecosystem

As we re-write for graphiql@2.x ecosystem, this monorepo will contain an sdk and plugins.

GraphiQL

Breaking Changes & Improvements: several interfaces are being dropped for new ones are arriving for GraphiQL 1.0.0! Read more in this issue

/ˈɡrafək(ə)l/ A graphical interactive in-browser GraphQL IDE. Try the live demo. We also have a demo using our latest netlify build for the main branch.

The GraphiQL IDE, implemented in React, currently using GraphQL mode for CodeMirror & GraphQL Language Service.

Learn more about GraphiQL in packages/graphiql/README.md

How To Setup/Implement GraphiQL

The GraphiQL Readme explains some of the ways to implement GraphiQL, and we also have the examples directory as well!

Monaco GraphQL

Provides monaco editor with a powerful, schema-driven graphql language mode.

See the webpack example for a plain javascript demo using github API

CodeMirror GraphQL

Animated Codemirror GraphQL Completion Example

Provides CodeMirror with a parser mode for GraphQL along with a live linter and typeahead hinter powered by your GraphQL Schema

GraphQL Language Service

Provides a command-line interface for running GraphQL Language Service Server for various IDEs.

GraphQL Language Service Server

An almost fully LSP compliant server process backing the GraphQL Language Service.

GraphQL Language Service Interface

Runtime agnostic Language Service used by GraphQL mode for CodeMirror and GraphQL Language Service Server

GraphQL Language Service Parser

An online immutable parser for GraphQL, designed to be used as part of syntax-highlighting and code intelligence tools such as for the GraphQL Language Service and codemirror-graphql.

GraphQL Language Service Types

Flow and Typescript type definitions for the GraphQL Language Service.

GraphQL Language Service Utilities

Utilities to support the GraphQL Language Service.

Browser & Runtime Support

Many of these packages need to work in multiple environments.

By default, all typescript packages target es6.

graphql-language-service-server and graphql-language-service-cli are made for the node runtime, so they target es2017

codemirror-graphql and the graphiql browser bundle use the .browserslistrc, which targets modern browsers to keep bundle size small and keep the language services performant where async/await is used, and especially to avoid the requirement of rengenerator-runtime or special babel configuration.

.browserslistrc:

last 2 versions
Firefox ESR
not dead
not IE 11
not ios 10
maintained node versions

To be clear, we do not support Internet Explorer or older versions of evergreen browsers.

Development

To get setup for local development of this monorepo, refer to DEVELOPMENT.md

Contributing to this repo

This is an open source project, and we welcome contributions. Please seeCONTRIBUTING.md for details on how to contribute.

This repository is managed by EasyCLA. Project participants must sign the free GraphQL Specification Membership agreement before making a contribution. You only need to do this one time, and it can be signed by individual contributors or their employers.

To initiate the signature process please open a PR against this repo. The EasyCLA bot will block the merge if we still need a membership agreement from you.

Please note that EasyCLA is configured to accept commits from certain GitHub bots. These are approved on an exception basis once we are confident that any content they create is either generated by the bot itself or written by someone who has already signed the CLA (e.g., a project maintainer).

Please note that EasyCLA is configured to accept commits from certain GitHub bots. These are approved on an exception basis once we are confident that any content they create is either unlikely to consist of copyrightable content or else was written by someone who has already signed the CLA (e.g., a project maintainer). The bots that have currently been approved as exceptions are:

  • github-actions (exclusively for the changesets Action)

You can find detailed information here. If you have issues, please email operations@graphql.org.

Maintainers

Maintainers of this repository regulary review PRs and issues and help advance the GraphiQL roadmap

Alumni

Originally this was three seperate repositories

  • @leebyron - original author of all libraries
  • @asiandrummer - original creator of GraphiQL
  • @wincent - early co-author and maintainer
  • @lostplan - maintained the language service ecosystem until about 2017
  • @IvanGoncharov - maintainer and transitional mentor to @acao and others

Active

Fielding Proposals!

The door is open for proposals for the new GraphiQL Plugin API, and other ideas on how to make the rest of the IDE ecosystem more performant, scaleable, interoperable and extensible.Feel free to open a PR to create a document in the /proposals/ directory.Eventually we hope to move these to a repo that serves this purpose.

Community

  • Discord - Most discussion outside of github happens on the GraphQL Discord Server
  • Twitter - @GraphiQL and #GraphiQL
  • GitHub - Create feature requests, discussions issues and bugs above
  • Working Group - Yes, you're invited! Monthly planning/decision making meetings, and working sessions every two weeks on zoom! Learn more.
  • 总览 GraphQL是一个新的令人兴奋的API,用于临时查询和操作。 它非常灵活,并提供许多好处。 它特别适用于公开以图和树形式组织的数据。 Facebook在2012年开发了GraphQL,并在2015年将其开源。 它Swift起飞并成为最热门的技术之一。 许多创新公司在生产中采用并使用了GraphQL。 在本教程中,您将学习: GraphQL的原理 与REST的比较 如何设计模式 如何设置Gr

 相关资料
  • 我目前正在使用apollo android和iOs库,这需要我下载模式。是否可以从graphicql下载模式?目前,我一直从命令行收到错误,无法从GraphiQL界面手动下载。提前谢谢!

  • 问题是,我总是收到一个没有任何有效负载的400响应代码。甚至graphql传递了代码200和带有错误块的有效负载。GraphiQl工作正常,这一事实告诉我设置和模式是正确的。所以…我卡住了。也许,有什么想法,去哪里看看? 我不认为它失败是因为cors本身。我的应用程序在 DRF 下运行良好。我决定尝试新的技术并使用GQL覆盖应用程序。 我的起源:http://127.0.0.1:8080 我的Ap

  • 我已经在我的django石墨烯GraphiQLendpoint上测试了这种突变,并通过Altair(graphql的邮递员)在我的apollo客户端所指向的完全相同的endpoint上进行了测试。我使用相同的格式运行相同的变异,它可以与GraphiQL和Altair一起工作-新的数据库条目。 通过react apollo,它不会产生错误,我的django控制台显示: 然而,实际上没有什么击中数据库

  • 我在创建一个 schema.json 文件时遇到问题,该文件可以使用 babel-relay-plugin 解析而不会遇到错误。查看中继的示例文件夹中包含的 schema.json 文件,我试图在 GraphiQL 中复制查询,但我似乎无法正确处理。我使用Laravel作为后端。这是我可以通过 GraphiQL 完成的还是向 GraphQL endpoint发送请求并保存响应来完成的? 尝试解析s

  • 刚接触 GraphQL,我在通过 GraphiQL 发送查询时遇到问题。 这是我的方案. js 当我在 graphiql 上运行以下查询时: 我收到“语法错误 GraphQL 请求 (3:9) 预期名称,找到字符串”,但我希望获得 ID 为“23”的用户。 我错过了什么?

  • 我已经用“graphiql-spring-boot-starter-5 . 0 . 2 . jar”依赖关系在graphiql playground的spring boot应用程序中添加了pom依赖关系。 现在我想禁用正式生产环境的操场。 并且尝试了如下的spring boot应用程序,但是这些选项都无法禁用GraphiQLendpoint。 graphiql.enabled=false dgs.

  • 有没有方法(或快捷方式)填充查询的所有字段? 我们以https://graphql.org/swapi-graphql/为例。 但是如果我想填充所有字段(名称、高度等),该怎么办不需要手动输入?

  • 我的目标是在Spring上使用(1)GraphiQL IDE(2)运行时的动态GraphQL模式构建一个GraphQL服务器。我的GraphQL引擎是GraphQL-Java。 在我的第一次尝试中,我使用了graphql-java-spring-boot-starter-webmvc和graphiql-spring-boot-starter。GraphQL服务器和GraphiQL都工作得很好。但是