graphql 有必要吗_您准备好观看GraphQL了吗?

graphql 有必要吗

在上一篇文章中,我们讨论了GraphQL与REST相比的优势。 在本文中,我们将看到GraphQL的实际应用。 我创建了一个示例应用程序来展示REST和GraphQL之间的差异。 首先,我们将看到简单产品细节端点的REST实现。 我已经使用Spring Boot来演示REST。 下载示例项目,并按照README中概述的步骤设置项目。 我不在这里讨论设置细节,因为它超出了本文的范围。 假设您的项目已启动并正在运行,以调用http:// localhost:8080 / product / {product_id}端点以获取产品详细信息JSON,如下所示。

GraphQL

如果您在JSON之上观察到,尽管我们对给定产品的所有元素都不感兴趣,但我们将获得包括评论和技术规格在内的整个产品JSON。

现在,我们将通过有选择地获取产品详细信息来了解GraphQL的实际应用。 为了再次演示GraphQL,我使用了Spring Boot。 下载示例项目,并按照README中概述的步骤设置项目。 我不在这里讨论设置细节,因为它超出了本文的范围。 假设您的项目已启动并正在运行,以查看GraphQL的实际效果。 在这种情况下,我有兴趣仅获取给定产品的产品ID,标题,简短描述和标价。 让我们看看如何查询以获得感兴趣的详细信息。

GraphQL

现在,作为服务消费者,我有兴趣获取产品ID,标题,简短描述,标价和评论。 在这种情况下,GraphQL提供了查询所需内容的灵活性。 当我们使用GraphQL时,请参见下面的查询和响应。

GraphQL

为了演示GraphQL,我使用了基于GUI的插件GraphiQL。 为了从其他应用程序消费,我们可以在application.properties中配置端点。

graphql.servlet.mapping=/graphql
graphql.servlet.enabled=true
graphql.servlet.corsEnabled=true

现在,我们可以通过传递URL编码的查询参数来调用上述端点,如下所示。 您可以了解有关查询和变异的更多信息https://graphql.org/learn/queries/

GraphQL

希望您喜欢这篇文章。 我将再来另一篇文章。 直到那时, 快乐学习!!!

翻译自: https://www.javacodegeeks.com/2019/03/ready-see-graphql-action.html

graphql 有必要吗

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/332367.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

报错java.lang.NoClassDefFoundError: ognl/DefaultMemberAccess

不要使用新版的 ognl&#xff0c;从 3.2 开始&#xff0c;会报各种乱七八糟的错误。建议使用 3.1.x 版本的&#xff0c;例如下面的版本&#xff1a; <dependency><groupId>ognl</groupId><artifactId>ognl</artifactId><version>3.1.15&l…

spring 注释_Spring核心注释

spring 注释介绍&#xff1a; org.springframework.beans.factory.annotation和org.springframework.context.annotation包中存在的Spring注释通常称为Spring Core注释。 我们可以将它们分为两大类&#xff1a;DI相关的注释和上下文配置注释&#xff1a; 在本教程中&#xff0…

Struts2 <s:debug/> 标签无法显示

首先&#xff0c;确保在 JSP 页面中引入 Struts2 的标签库&#xff1a; <% taglib uri"/struts-tags" prefix"s"%>在 Struts 2 项目中需要查看值栈&#xff08;Value Stack &#xff09;的内容&#xff0c;但是在 JSP 页面中添加了 <s:debug/&g…

JSTL/EL表达式/Struts2标签/OGNL表达式

文章目录JSTL EL表达式Struts 标签 OGNL表达式JSTL EL表达式 JSTL 只能用在 JSP 文件中&#xff0c;不可以在 XML 和 HTML 文件中使用&#xff0c;不可以用在 JS 语境中&#xff0c;不可以用在 Java 的语境中。在 JSP 文件中&#xff0c;JSTL 标签可以使用在 HTML 标签的属…

spring 注释_Spring @Value注释

spring 注释介绍&#xff1a; Spring Value批注用于将值注入变量和方法参数。 我们可以读取spring环境变量或系统变量。 它还支持SpEL。 在本快速教程中&#xff0c;我们将探讨如何使用Spring Value批注。 建立&#xff1a; 让我们首先在app.properties文件中定义一些属性&am…

Struts2标签学习笔记

文章目录Struts2 标签是干什么的Struts2 标签可以使用在哪里关于标签的属性常用的标签s:property调用方法s:iterator遍历Integer类型的Lists:selects:ifs:form自动填写表单项的值s:textfields:includes:submits:checkboxs:radios:action示例代码s:dates:url示例代码s:set示例代…

maven依赖范围_Maven依赖范围

maven依赖范围介绍&#xff1a; 管理依赖关系是Maven的核心功能。 定义Maven依赖项时&#xff0c; scope属性定义了该依赖项在不同的Maven生命周期阶段&#xff08;例如build&#xff0c;test和run&#xff09;上的可见性。 依赖范围限制了任何项目中依赖的传递性&#xff0c;…

雅加达poi_雅加达EE:干净的板岩

雅加达poi该公告雅加达EE不能使用javax。*名称空间是个好消息&#xff0c;并提供雅加达EE用干净的石板上构建和创新企业级Java的未来。 原始提案 可以预见&#xff0c; javax。*和jakarta。*名称空间将在Java EE 8之后共存&#xff0c;随着它的发展&#xff0c; jakarta。*名称…

Struts2的配置文件struts.xml的模板

文章目录模板标签说明packageactionresult模板 <?xml version"1.0" encoding"UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2…

Struts2的配置文件web.xml的模板

<?xml version"1.0" encoding"UTF-8"?> <web-app xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xmlns"http://xmlns.jcp.org/xml/ns/javaee"xsi:schemaLocation"http://xmlns.jcp.org/xml/ns/javaee http://…

cassandra数据备份_Cassandra中的数据建模

cassandra数据备份在关系数据模型中&#xff0c;我们为域中的每个对象建模关系/表。 对于Cassandra&#xff0c;情况并非如此。本文将详细介绍在Cassandra中进行数据建模时需要考虑的所有方面。 以下是Cassandra数据建模的粗略概述。 从上图可以看出&#xff0c; 概念数据建模…

Struts2项目中的JSP如何访问Session对象

Struts2 项目中&#xff0c;Session 对象存放在 ValueStack 的 context 对象中&#xff0c;context 是 Map 对象&#xff0c;那么要从 context 对象中获取到 Session 对象&#xff0c;就要指定 key 值。我们查看 ValueStack 的内容&#xff1a; 从 ValueStack 显示的内容可以知…

pom.xml中pom全称_摆脱pom XML…几乎

pom.xml中pom全称介绍 POM文件是XML格式的文件&#xff0c;声明性地描述了要使用Maven构建的Java项目的构建结构。 维护大型Java项目的POM XML文件通常很麻烦。 XML是冗长的&#xff0c;POM的结构也需要维护冗余信息。 多次对工件进行命名是多余的&#xff0c;在groupId和artif…

IntelliJ IDEA for Mac中Maven菜单用法详解

Reload project 你如果修改了 pom.xml 文件&#xff0c;可以点击这个按钮重载 Maven 项目&#xff0c;重载过程会引入新的依赖&#xff0c;会删除不需要的依赖。 Generate Sources and Update Folders 这个按钮是将 src/main/resources 和 src/test/resources 的资源文件编译…

sql 注射_只能在测试中注射吗?

sql 注射本文是关于测试设计和可测试性的一些想法。 我们与我的儿子讨论了一些问题&#xff0c;他的儿子是Java的初级开发人员&#xff0c;目前在匈牙利的EPAM&#xff08;我工作的同一家公司&#xff0c;但在另一家公司工作&#xff09;受雇并学习。 本文中的所有内容都是很好…

IntelliJ IDEA查看方法在哪里被调用(Method Usage Search/Method Call Hierarchy)

文章目录Usage SearchCall Hierarchy区别Usage Search 搜索使用的地方&#xff0c;快捷键如下&#xff1a; 你可以把光标移到方法名称处&#xff0c;然后点击右键&#xff0c;找到 Find Usages 菜单项&#xff0c;意思是“找到使用它的地方”。 例如我要查看哪些地方调用 f…

java编程学习方法_在线学习Java编程的最佳方法

java编程学习方法1.简介 Java是使用最广泛的编程语言之一。 根据Github的最新报告 &#xff0c;Java被列为仅次于JavaScript的第二大最常用的编程语言。 掌握Java的人有很多话题。 好消息是&#xff0c;您可以在线找到很多内容。 在这篇文章中&#xff0c;我们将对所有这些主题…

hibernate 标识符_Hibernate中的标识符

hibernate 标识符Hibernate中的标识符为实体的主键属性建模。 它有助于我们唯一地标识JPA实体。 每个实体都必须定义一个标识符。 同样&#xff0c;它可以是简单的也可以是复合的。 我们可以通过几种方式定义一个Hibernate标识符。 在本教程中&#xff0c;我们将学习如何做。 …

java中延迟_Java中的延迟分配

java中延迟程序员本质上是懒惰的&#xff0c;而similis simili gaudet就像程序是懒惰的一样。 您听说过延迟加载吗&#xff1f; 还是懒惰的单身人士&#xff1f; &#xff08;不过&#xff0c;我个人更喜欢单一麦芽版本。&#xff09;如果使用Scala或Kotlin&#xff08;这也是一…

camel apache_短款Apache Camel K

camel apache您可能已经看到我们在Camel K周围的Apache Camel社区中所做的工作。 Nicola于半年前在他的博客中介绍了Camel K &#xff0c; 就在几个月前&#xff0c;我们正在讨论一个新项目&#xff0c;该项目可以作为Apache Camel的一部分启动。 一个有可能改变人们处理集成方…