• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

eclipse/microprofile-graphql: microprofile-graphql

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称(OpenSource Name):

eclipse/microprofile-graphql

开源软件地址(OpenSource Url):

https://github.com/eclipse/microprofile-graphql

开源编程语言(OpenSource Language):

Java 100.0%

开源软件介绍(OpenSource Introduction):

badge javadoc microprofile graphql

Microprofile GraphQL Specification

Read the MicroProfile GraphQL 1.1.0 Specification

Structure

This project consist of 3 parts:

  • Server - The server-side of MicroProfile GraphQL.

  • Client - The client-side of MicroProfile GraphQL.

  • Full - The combination of Server and Client.

Implementations can decide to implement only the Server, or only the Client, or both.

Use this in your project to depend on both the server and client API:

<dependency>
  <groupId>org.eclipse.microprofile.graphql</groupId>
  <artifactId>microprofile-graphql-api</artifactId>
  <version>1.0.3</version>
</dependency>

About

GraphQL is an open-source data query and manipulation language for APIs, and a runtime for fulfilling queries with existing data. It provides an alternative, though not necessarily a replacement for REST.

GraphQL was developed internally by Facebook in 2012 before being publicly released in 2015.

On 7 November 2018, the GraphQL project was moved from Facebook to the newly-established GraphQL foundation, hosted by the non-profit Linux Foundation. This is a significant milestone in terms of industry and community adoption. GraphQL is used by many large and small customers including Atlassian, Coursera, Facebook, GitHub, PayPal, Twitter, and many more.

Why GraphQL

The main reasons developers might want to use GraphQL are:

  • Improved data consumption for customers (IoS, Android, Web). Allowing for example to be able to retrieve several types of data in a single request or limiting the response data to exactly the specific data requested.

  • Better analysis of the exhaustiveness of data calls (allowing to know the use of each node) and better manage the deletion of deprecated fields.

  • Advanced developer experience:

    • The schema defines how the data can be accessed and serves as the contract between the client and the server. Developer teams on both sides can work without further communication,

    • Native schema introspection enabling to discover the API and to refine the queries on the client-side. This advantage is increased with graphical tools such as GraphiQL enabling smooth and easy API discovery,

    • On the client-side, the query language provides a lot of flexibility and efficiency enabling developers to adapt to the constraints of their technical environments (IoS, Android, Web).

Why MicroProfile

The official purpose of MicroProfile is to optimize Enterprise Java for a microservices architecture and delivers application portability across multiple MicroProfile runtimes. GraphQL is already widely used in Microservices architectures as the API Endpoint. As noted in the Known java libraries section, there are several Java-based GraphQL libraries available, but none with the reach of the MicroProfile community. GraphQL continues to grow in popularity, and as such there should be a specification for GraphQL development in Java. MicroProfile is the optimal place to host that standard as it is open, ideally suited for incubating technologies, and has broad reach both in terms of the user community and vendor support.

What GraphQL is not

This specification will focus on making it easy for developers to create a GraphQL Service/Endpoint and publish it as an API. Where the data comes from (NoSQL, Relational DB, another service, etc.) is not the concern of this Proposed Specification.

Acknowledgements

This API and specification would not be possible without the enormous assistance from the GraphQL SPQR project.

Contributing

Do you want to contribute to this project? Find out how you can help here.




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
kiranz/just-api: Test REST, GraphQL APIs发布时间:2022-06-13
下一篇:
miragejs/graphql: A library for handling GraphQL requests with Mirage JS发布时间:2022-06-13
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap