graphql-java

简介: graphql-java

不会哭的年轻人是野蛮人,不想笑的老年人是傻瓜——桑塔亚娜

前两天写了graphql简单介绍博客

今天来拿java简单入个门,首先新建一个项目,因为我这里是用我自己熟悉的方式去写,所以包含了一些看不懂的写法,过两天在写一个保姆级教程

项目地址:https://gitee.com/VampireAchao/simple-graphql

运行springboot主启动类,然后访问

http://localhost:8080/

可以看到这样一个页面

我们可以在左侧编写graphql的查询语句,点击运行按钮,比如分页查询用户

{
  users(current: 1, size: 2) {
    current
    size
    total
    records {
      id
      name
      roles {
        id
        roleName
      }
    }
  }
}

这里这些字段如果不清楚,可以点右侧的Document Explorer,没有的话先展开

点击Query可以看到两个可以查询的,分别是usersroles

这里就列举出了我们查询所需参数(带感叹号的是必传项),字段可以点击类型查看

graphql最大好处是指哪打哪,例如此处我不传入recordsroles,则只会查询用户信息

我们再试试根据roles查询用户

{
  roles(name: "admin") {
    id
    roleName
    users {
      id
      name
    }
  }
}

效果也是非常棒,核心逻辑在这个类里

https://gitee.com/VampireAchao/simple-graphql/blob/master/src/main/java/com/ruben/simplegraphql/provider/GraphQLProvider.java

相关文章
|
Shell iOS开发 MacOS
|
5月前
|
人工智能 运维 安全
Higress 开源 Remote MCP Server 托管方案,并将上线 MCP 市场
MCP(Model Context Protocol)正从事实标准迈向行业标准,OpenAI与Anthropic的推动使其生态快速发展。Higress作为AI原生API网关,提供开源Remote MCP Server托管方案,解决认证授权、服务可靠性等挑战,支持协议转换与扩展。其分层架构和Wasm插件机制助力企业灵活部署,即将上线的MCP市场将降低开发者成本,促进生态共建,推动AI助手智能化体验升级。
525 2
|
Java API 数据库
如何在Java中使用GraphQL
如何在Java中使用GraphQL
|
9月前
|
前端开发 测试技术 API
GraphQL 中的分页与排序:一分钟浅谈
本文深入介绍了 GraphQL 中的分页与排序功能,解释了为何这些功能在处理大量数据时至关重要,并详细说明了如何通过 `first` 和 `after` 参数实现分页,以及如何使用 `orderBy` 参数进行排序。同时,文章还探讨了常见问题及解决方法,帮助开发者避免陷阱,提升查询性能和用户体验。
211 70
|
Java API 数据库
如何在Java中使用GraphQL
如何在Java中使用GraphQL
|
缓存 监控 安全
使用GraphQL构建高效数据查询:技术深度剖析与实践
【8月更文挑战第11天】GraphQL以其强大的灵活性和高效性,为现代Web开发提供了一种全新的数据查询和传输方式。通过合理使用GraphQL的核心特性和策略,开发者可以构建出高效、灵活且易于维护的API。然而,GraphQL的成功应用也需要开发者在Schema设计、查询优化、客户端缓存以及安全性等方面进行深入的思考和实践。希望本文能够为开发者在使用GraphQL构建高效数据查询方面提供一些有益的参考和启示。
|
11月前
|
安全 Linux 编译器
Centos 7.9如何使用源码编译安装curl最新版本
通过上述步骤,您就能在CentOS 7.9上成功地从源代码编译并安装curl的最新版本。这种方法不仅提供了灵活性,允许您定制编译选项,还确保了软件的最新功能和安全更新得到应用。
580 1
|
安全 Java API
Java一分钟之-GraphQL:查询语言与API设计
【6月更文挑战第11天】GraphQL,一种革命性的查询语言,正在改变Web开发中的API构建和使用方式。它允许客户端按需请求数据,减少冗余,提升性能。本文概述了GraphQL的核心理念,如声明式查询、强类型和统一入口,并讨论了Java开发者常遇问题:过度查询、Schema设计和安全性。解决方案包括使用Dataloader、优化Schema和实现授权机制。通过理解原理、关注性能、重视安全和持续实践,开发者能更好地利用GraphQL构建高效API。
579 2
|
Kubernetes API 容器
在K8S中,Service的Nodeport端口范围?
在K8S中,Service的Nodeport端口范围?
|
JSON Java 测试技术
单元测试问题之使用JSON文件作为参数化测试的输入源如何解决
单元测试问题之使用JSON文件作为参数化测试的输入源如何解决
224 0