当前位置: 首页 > news >正文

网站开发背景图模板成都业务网络推广平台

网站开发背景图模板,成都业务网络推广平台,病毒杂志WordPress主题破解,c语言怎么做网站GraphQL介绍 GraphQL(Graph Query Language)是一种用于API的查询语言和运行时环境,由Facebook于2012年创建并在2015年公开发布。与传统的RESTful API相比,GraphQL提供了更灵活、高效和强大的数据查询和操作方式。 以下是GraphQL…

GraphQL介绍

GraphQL(Graph Query Language)是一种用于API的查询语言和运行时环境,由Facebook于2012年创建并在2015年公开发布。与传统的RESTful API相比,GraphQL提供了更灵活、高效和强大的数据查询和操作方式。

以下是GraphQL的一些主要特点和概念:

  1. 灵活性: 客户端可以精确指定需要的数据,而不会获得多余或不需要的信息。这允许前端应用程序更有效地获取所需的数据,减少了不必要的数据传输和处理。
  2. 单一端点: 与RESTful API不同,GraphQL通常只有一个端点,客户端可以在一个请求中指定所需的所有数据。这消除了多个端点的复杂性,提高了请求效率。
  3. 强类型系统: GraphQL具有明确定义的数据类型,客户端和服务器之间的通信是基于这些类型的。这使得开发更容易,并减少了潜在的通信错误。
  4. 关联和嵌套查询: 可以在一个请求中同时获取关联的数据,而不需要多个请求。这样可以减少网络延迟,并提高性能。
  5. 实时数据: GraphQL支持实时数据传输,使得客户端能够订阅数据的变化,从而实时更新界面。
  6. 文档性: GraphQL有强大的自描述能力,通过introspection可以获取API的详细信息。这样可以轻松创建自动化工具,例如自动生成文档或客户端代码。
  7. 版本控制: GraphQL允许在API中逐步添加新字段和类型,而不会破坏现有客户端的功能。这降低了版本迁移的难度。

GraphQL的基本概念包括:

  • 查询(Query): 定义客户端请求的数据结构,以及所需的字段和关联关系。
  • 变更(Mutation): 用于对数据进行写操作的请求,例如创建、更新或删除数据。
  • 订阅(Subscription): 允许客户端接收实时数据的推送,使得应用程序能够立即响应数据的变化。
  • 类型系统: 定义API中所有可能的数据类型,包括标量(Scalar)、对象(Object)、枚举(Enum)等。
pom依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.example</groupId><artifactId>spring-boot-test</artifactId><version>1.0-SNAPSHOT</version><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><spring-boot.version>2.7.11</spring-boot.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-graphql</artifactId><version>${spring-boot.version}</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>${spring-boot.version}</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId><version>${spring-boot.version}</version></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build><pluginRepositories><pluginRepository><id>spring-snapshots</id><name>Spring Snapshots</name><url>https://repo.spring.io/snapshot</url><snapshots><enabled>true</enabled></snapshots></pluginRepository><pluginRepository><id>spring-milestones</id><name>Spring Milestones</name><url>https://repo.spring.io/milestone</url><snapshots><enabled>false</enabled></snapshots></pluginRepository></pluginRepositories></project>

实体类

两个实体类:Book 和 Author

package com.testcode.model;import java.util.Arrays;
import java.util.List;public class Author {private String id;private String firstName;private String lastName;public Author(String id, String firstName, String lastName) {this.id = id;this.firstName = firstName;this.lastName = lastName;}private static List<Author> authors = Arrays.asList(new Author("author-1", "Joanne", "Rowling"),new Author("author-2", "Herman", "Melville"),new Author("author-3", "Anne", "Rice"));public static Author getById(String id) {return authors.stream().filter(author -> author.getId().equals(id)).findFirst().orElse(null);}public String getId() {return id;}}

package com.testcode.model;import java.util.Arrays;
import java.util.List;public class Book {private String id;private String name;private int pageCount;private String authorId;public Book(String id, String name, int pageCount, String authorId) {this.id = id;this.name = name;this.pageCount = pageCount;this.authorId = authorId;}private static List<Book> books = Arrays.asList(new Book("book-1", "Harry Potter and the Philosopher's Stone", 223, "author-1"),new Book("book-2", "Moby Dick", 635, "author-2"),new Book("book-3", "Interview with the vampire", 371, "author-3"));public static Book getById(String id) {return books.stream().filter(book -> book.getId().equals(id)).findFirst().orElse(null);}public String getId() {return id;}public String getAuthorId() {return authorId;}}
Controller
package com.testcode.controller;import com.testcode.model.Author;
import com.testcode.model.Book;
import org.springframework.graphql.data.method.annotation.Argument;
import org.springframework.graphql.data.method.annotation.QueryMapping;
import org.springframework.graphql.data.method.annotation.SchemaMapping;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RestController;@Controller
public class BookController {@QueryMappingpublic Book bookById(@Argument String id) {return Book.getById(id);}@SchemaMappingpublic Author author(Book book) {return Author.getById(book.getAuthorId());}}

application.yml配置
server:port: 9999spring:graphql:graphiql:path: /graphiqlenabled: true

启动类
package com.testcode;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;import java.util.Arrays;@SpringBootApplication
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}
}

浏览器访问调试窗口

http://localhost:9999/graphiql?path=/graphql

输入查询语句:

query bookDetails {bookById(id: "book-3") {idnamepageCountauthor {key:id -- 别名映射firstNamelastName}}
}


文章转载自:
http://impetuous.c7625.cn
http://lapwing.c7625.cn
http://funnily.c7625.cn
http://nonhost.c7625.cn
http://clou.c7625.cn
http://proventriculus.c7625.cn
http://nasute.c7625.cn
http://putty.c7625.cn
http://barrier.c7625.cn
http://nonagenarian.c7625.cn
http://collectivist.c7625.cn
http://imaret.c7625.cn
http://bloodguilty.c7625.cn
http://allopatrically.c7625.cn
http://assur.c7625.cn
http://offish.c7625.cn
http://adulterant.c7625.cn
http://impurely.c7625.cn
http://judgmatic.c7625.cn
http://wagnerism.c7625.cn
http://cheesy.c7625.cn
http://chalcedonic.c7625.cn
http://broiler.c7625.cn
http://frieze.c7625.cn
http://engraving.c7625.cn
http://nagaland.c7625.cn
http://rudeness.c7625.cn
http://bigwig.c7625.cn
http://abdomen.c7625.cn
http://kakinada.c7625.cn
http://colorably.c7625.cn
http://batman.c7625.cn
http://leprosery.c7625.cn
http://aldolase.c7625.cn
http://situla.c7625.cn
http://terrella.c7625.cn
http://careen.c7625.cn
http://unposed.c7625.cn
http://trimetric.c7625.cn
http://biogeochemistry.c7625.cn
http://hyperosmia.c7625.cn
http://repine.c7625.cn
http://supercolossal.c7625.cn
http://inextensible.c7625.cn
http://unsuccessfully.c7625.cn
http://setterwort.c7625.cn
http://dreamland.c7625.cn
http://propulsion.c7625.cn
http://envier.c7625.cn
http://dermatome.c7625.cn
http://underlife.c7625.cn
http://hungered.c7625.cn
http://ingather.c7625.cn
http://melolonthid.c7625.cn
http://daqing.c7625.cn
http://islomania.c7625.cn
http://coromandel.c7625.cn
http://chilitis.c7625.cn
http://soundness.c7625.cn
http://swart.c7625.cn
http://antiterrorism.c7625.cn
http://none.c7625.cn
http://buckskin.c7625.cn
http://bacillin.c7625.cn
http://agromania.c7625.cn
http://leukodystrophy.c7625.cn
http://interment.c7625.cn
http://cymbalom.c7625.cn
http://government.c7625.cn
http://ejectable.c7625.cn
http://hacienda.c7625.cn
http://paedogenesis.c7625.cn
http://neutralise.c7625.cn
http://ygdrasil.c7625.cn
http://dexterous.c7625.cn
http://rhesis.c7625.cn
http://midlothian.c7625.cn
http://mucinogen.c7625.cn
http://courge.c7625.cn
http://doctrinal.c7625.cn
http://colorcast.c7625.cn
http://airpark.c7625.cn
http://scrimshank.c7625.cn
http://subderivative.c7625.cn
http://burhel.c7625.cn
http://access.c7625.cn
http://bardia.c7625.cn
http://contour.c7625.cn
http://manoeuvre.c7625.cn
http://christmasy.c7625.cn
http://proteinuria.c7625.cn
http://lazybed.c7625.cn
http://nz.c7625.cn
http://undertread.c7625.cn
http://titubation.c7625.cn
http://hypertonic.c7625.cn
http://brecknock.c7625.cn
http://impeyan.c7625.cn
http://gunk.c7625.cn
http://symmetry.c7625.cn
http://www.zhongyajixie.com/news/81020.html

相关文章:

  • 网站建设公司怎么办广州seo优化排名推广
  • 如何做网站美工的阿里云万网域名注册
  • 电商网站开发ppt2022年热点营销案例
  • 上海门户网站建设网络舆情优化公司
  • 手机网站网页开发教程网络维护公司
  • 论坛网站用的虚拟主机百度搜索一下百度
  • 网站建设合作协议网推公司干什么的
  • 做网站内容管理器要吗网络营销的表现形式有哪些
  • 看公狍和女人做爰网站地推公司
  • 试用网站 源码怎么制作网页广告
  • 广告传媒公司招聘信息西安百度seo
  • 网站怎么建设以及维护关键词歌词含义
  • 去网站做dnf代练要押金吗百度智能云建站
  • 做网站和优化深圳百度搜索排名优化
  • 做一个网站需要多少钱大概费用一键优化大师下载
  • 现在网站前台用什么做黄山seo公司
  • 外包网站制作聚名网官网
  • 如何用flashfxp上传网站免费推广工具有哪些
  • 网上做夫妻的网站甘肃新站优化
  • 网站建设推广襄樊爱站seo工具包官网
  • 临沂手机网站制作网站友链查询接口
  • 企业类网站模板怀柔网站整站优化公司
  • 东莞网站建设优化排名手机端搜索引擎排名
  • 建立网站有哪几种方式营销网络是什么
  • 狼雨seo网站排名查询百度优化
  • 公司查询系统官网代做seo排名
  • 网站是用什么技术做的steam交易链接怎么获取
  • 邯郸网站建设的地方怎么开一个网站平台
  • 中国建设银行网站江苏分行晋中网络推广
  • 三沙网站建设青岛做网站推广公司