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

做个简单的网站如何查看网站域名

做个简单的网站,如何查看网站域名,广告营销策划公司,最便宜的外贸自建站平台1.Graphql介绍 GraphQL 是一个用于 API 的查询语言#xff0c;是一个使用基于类型系统来执行查询的服务端运行时#xff08;类型系统由你的数据定义#xff09;。GraphQL 并没有和任何特定数据库或者存储引擎绑定#xff0c;而是依靠你现有的代码和数据支撑。 优势 GraphQL… 1.Graphql介绍 GraphQL 是一个用于 API 的查询语言是一个使用基于类型系统来执行查询的服务端运行时类型系统由你的数据定义。GraphQL 并没有和任何特定数据库或者存储引擎绑定而是依靠你现有的代码和数据支撑。 优势 GraphQL 速度快并且比较稳定GraphQL 的操作是在数据层面的所以比较快。GraphQL 可以获取更多的资源当查询一个数据的时候不止是这个数据甚至可以很快地查询到数据引用的另一个数据。GraphQL 可以在单个请求中去获取尽量多的数据并且在弱网状态下GraphQL 依旧表现出色。GraphQL 是单端点查询并在此端点中去完成所有的查询。GraphQL 的可持续性非常出色无论是新字段、还是旧字段它都能很好地去处理可维护性也极佳。GraphQL 具有向下兼容的特性就算是很久很久以前的功能GraphQL 还是能很好地去兼容它保证旧版本的正常运行同时又不影响新功能的加入以及整体的稳定性。这样做的好处就是不需要去担忧版本号问题了。GraphQL 具有强类型在 GraphQL 的查询中一个级别对应一个强类型这个类型充当一个字段的描述。这样的好处就是在查询之前可以校验出错误并提示方便定位问题提高性能。自省可以查询 GraphQL 服务器支持的类型。这为工具和客户端软件创建了一个强大的平台可以在这些信息的基础上构建静态类型语言的代码生成、我们的应用程序框架、Relay 或 GraphiQL 等 IDE。GraphQL 支持使用者去决定服务器支持的类型。这样的好处就是给很多使用 GraphQL 的 工具或者端建立了一个比较成熟且强大的应用平台通过这个平台一些框架、工具得到不断地优化提升。 劣势 GraphQL 无法完成深度查询所以无法对于未知深度的数据进行一次性查询。GraphQL 具有非常死板的响应结构你必须遵从这个结构去查询数据或者自己添加一个转换器来转换。GraphQL 无法进行网络级别的缓存你必须使用另外别的办法进行持久查询。GraphQL 默认没有上传文件的功能GraphQL 也不接收文件类型的参数但是你可以使用 REST 的方式进行上传文件达到上传文件的目的。GraphQL 的执行是不可预测的因为 GraphQL 太过于灵活了。同样的一个简单的 APIGraphQL 会表现得很复杂所以建议简单 API 使用 RSET。 2.mysql环境搭建 参考代码仓库里面的mysql模块这里只贴出docker-compose.yml version: 3 services:mysql:image: registry.cn-hangzhou.aliyuncs.com/zhengqing/mysql:5.7container_name: mysql_3306restart: unless-stopped volumes:- ./mysql/my.cnf:/etc/mysql/my.cnf- ./mysql/init-file.sql:/etc/mysql/init-file.sql- ./mysql/data:/var/lib/mysql # - ./mysql/conf.d:/etc/mysql/conf.d- ./mysql/log/mysql/error.log:/var/log/mysql/error.log- ./mysql/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d # init sql script directory -- tips: it can be excute when /var/lib/mysql is emptyenvironment: # set environment,equals docker run -eTZ: Asia/ShanghaiLANG: en_US.UTF-8MYSQL_ROOT_PASSWORD: root # set root passwordMYSQL_DATABASE: demo # init database nameports: # port mappping- 3306:3306 运行 docker-compose -f docker-compose.yml -p mysql5.7 up -d 初始化脚本 CREATE DATABASE IF NOT EXISTS BOOK_API_DATA; USE BOOK_API_DATA;CREATE TABLE IF NOT EXISTS Book (id int(20) NOT NULL AUTO_INCREMENT,name varchar(255) DEFAULT NULL,pageCount varchar(255) DEFAULT NULL,PRIMARY KEY (id),UNIQUE KEY Index_name (name)) ENGINEInnoDB AUTO_INCREMENT235 DEFAULT CHARSETutf8;CREATE TABLE Author (id INT(20) NOT NULL AUTO_INCREMENT,firstName VARCHAR(255) NULL DEFAULT NULL COLLATE utf8_general_ci,lastName VARCHAR(255) NULL DEFAULT NULL COLLATE utf8_general_ci,bookId INT(20) NULL DEFAULT NULL,PRIMARY KEY (id) USING BTREE,UNIQUE INDEX Index_name (firstName) USING BTREE,INDEX FK_Author_Book (bookId) USING BTREE,CONSTRAINT FK_Author_Book FOREIGN KEY (bookId) REFERENCES BOOK_API_DATA.Book (id) ON UPDATE CASCADE ON DELETE CASCADE )COLLATEutf8_general_ci ENGINEInnoDB AUTO_INCREMENT6 ;INSERT INTO Book (id, name, pageCount) VALUES (1, the golden ticket, 255); INSERT INTO Book (id, name, pageCount) VALUES (2, coding game, 300);INSERT INTO Author (id, firstName, LastName, bookId) VALUES (4, Brendon, Bouchard, 1); INSERT INTO Author (id, firstName, LastName, bookId) VALUES (5, John, Doe, 2); 3.代码工程  实验目标 实现一个基于graphql查询的例子 实现过程 1. 定义SchemaSchema使用GraphQL Schema Definition Language (SDL)来定义 2. 实现ResolverResolver函数负责从数据源中获取请求的数据 3. 配置和启动GraphQL服务器 要启动GraphQL服务器你需要安装相应的依赖和配置服务器 pomxml ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdparentartifactIdspringboot-demo/artifactIdgroupIdcom.et/groupIdversion1.0-SNAPSHOT/version/parentmodelVersion4.0.0/modelVersionartifactIdGraphQL/artifactIdpropertiesmaven.compiler.source8/maven.compiler.sourcemaven.compiler.target8/maven.compiler.targetkotlin.version1.5.0/kotlin.version/propertiesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdcom.graphql-java-kickstart/groupIdartifactIdgraphql-spring-boot-starter/artifactIdversion12.0.0/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-jpa/artifactId/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactId/dependencydependencygroupIdcom.graphql-java-kickstart/groupIdartifactIdgraphql-java-tools/artifactIdversion12.0.0/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scopeexclusionsexclusiongroupIdorg.junit.vintage/groupIdartifactIdjunit-vintage-engine/artifactId/exclusion/exclusions/dependencydependencygroupIdcom.google.guava/groupIdartifactIdguava/artifactIdversion26.0-jre/version/dependencydependencygroupIdorg.apache.tomcat.embed/groupIdartifactIdtomcat-embed-jasper/artifactIdscopeprovided/scope/dependency/dependencies /project GraphQLQueryResolver package com.et.graphql.queryresolvers;import com.et.graphql.model.Author; import com.et.graphql.model.Book; import com.et.graphql.repository.AuthorRepository; import com.et.graphql.repository.BookRepository; import graphql.kickstart.tools.GraphQLQueryResolver; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component;Component public class BookQuery implements GraphQLQueryResolver{AutowiredBookRepository bookRepository;AutowiredAuthorRepository authorRepository;public IterableBook allBook(){return bookRepository.findAll();}public Book getBookByName(String name){return bookRepository.findBookByName(name);}public IterableAuthor allAuthor(){return authorRepository.findAll();}} package com.et.graphql.queryresolvers;import com.et.graphql.model.Book; import com.et.graphql.repository.BookRepository; import graphql.kickstart.tools.GraphQLMutationResolver; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component;import java.util.Optional;Component public class BookMutation implements GraphQLMutationResolver {AutowiredBookRepository bookRepository;public Book newBook(String name, String pageCount){Book book new Book();book.setName(name);book.setPageCount(pageCount);return bookRepository.save(book);}public Book deleteBook(Integer id){Book deleteBook new Book();OptionalBook findBook bookRepository.findById(id);if(findBook.isPresent()){bookRepository.delete(findBook.get());deleteBook findBook.get();}return deleteBook;} } package com.et.graphql.queryresolvers;import com.et.graphql.model.Author; import com.et.graphql.model.Book; import com.et.graphql.repository.AuthorRepository; import graphql.kickstart.tools.GraphQLResolver; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component;Component public class BookAuthorResolver implements GraphQLResolverBook {AutowiredAuthorRepository authorRepository;public Author getAuthor(Book book){return authorRepository.findAuthorByBookId(book.getId());} } graphqls(/resources/graphql) type Book {id: Intname: StringpageCount: Stringauthor: Author }type Query {allBook: [Book]allAuthor:[Author]getBookByName(name: String): Book }type Mutation {newBook(name: String!, pageCount: String): BookdeleteBook(id:Int!):Book }type Author {id: IntfirstName: StringlastName: StringbookId: Int } model package com.et.graphql.model;import javax.persistence.*;Entity Table(name Author, schema BOOK_API_DATA) public class Author {IdGeneratedValue(strategy GenerationType.AUTO)Integer id;Column(name firstname)String firstName;Column(name lastname)String lastName;Column(name bookid)Integer bookId;public Author(Integer id, String firstName, String lastName, Integer bookId) {this.id id;this.firstName firstName;this.lastName lastName;this.bookId bookId;}public Author() {}public Integer getId() {return id;}public String getFirstName() {return firstName;}public String getLastName() {return lastName;}public void setId(Integer id) {this.id id;}public void setFirstName(String firstName) {this.firstName firstName;}public void setLastName(String lastName) {this.lastName lastName;}public Integer getBookId() {return bookId;}public void setBookId(Integer bookId) {this.bookId bookId;} } package com.et.graphql.model;import javax.persistence.*;Entity Table(name Book, schema BOOK_API_DATA) public class Book {IdGeneratedValue(strategy GenerationType.AUTO)private Integer id;private String name;Column(name pagecount)private String pageCount;public Book(Integer id, String name, String pageCount) {this.id id;this.name name;this.pageCount pageCount;}public Book() {}public Integer getId() {return id;}public void setId(Integer id) {this.id id;}public String getName() {return name;}public void setName(String name) {this.name name;}public String getPageCount() {return pageCount;}public void setPageCount(String pageCount) {this.pageCount pageCount;} } repository package com.et.graphql.repository;import com.et.graphql.model.Author; import org.springframework.data.repository.CrudRepository;public interface AuthorRepository extends CrudRepositoryAuthor, Integer {Author findAuthorByBookId(Integer bookId); } package com.et.graphql.repository;import com.et.graphql.model.Book; import org.springframework.data.repository.CrudRepository;public interface BookRepository extends CrudRepositoryBook, Integer {Book findBookByName(String name); } DemoApplication.java package com.et.graphql;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan;SpringBootApplication ComponentScan(basePackages com.et.graphql.queryresolvers) public class BookAPIApplication {public static void main(String[] args) {SpringApplication.run(BookAPIApplication.class, args);}} application.yaml spring.jpa.hibernate.ddl-autonone spring.jpa.databasemysql spring.jpa.open-in-viewtrue spring.jpa.show-sqltrue server.port8088 #logging.level.org.hibernateDEBUG logging.level.org.hibernate.SQLDEBUG spring.jpa.hibernate.naming.physical-strategyorg.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl spring.jpa.hibernate.use-new-id-generator-mappings false# book api db spring.datasource.urljdbc:mysql://127.0.0.1:3306/demo?useUnicodetruecharacterEncodingutf-8useSSLfalse spring.datasource.usernameroot spring.datasource.passwordroot 以上只是一些关键代码所有代码请参见下面代码仓库 代码仓库 https://github.com/Harries/springboot-demo 4.测试 启动spring boot应用 打开postman调用 http://127.0.0.1:8088/graphql 输入 query {allBook{idnamepageCount}} 返回结果 5.引用 https://www.cnblogs.com/zcqiand/p/18011513http://www.liuhaihua.cn/archives/710416.htmlhttps://graphql.org/
http://www.zqtcl.cn/news/2343/

相关文章:

  • 建站软件怎么免费升级做网站哪个系统最安全
  • 网站关键词放哪网页开发工具的作用有多大
  • 织梦dedecms女性时尚门户网站模板如何建单页网站栏目
  • 关于网站建设的广告语平面设计培训学校学费
  • 做网站以前出名的公司陕西做网站公司
  • 网站管理与建设总结国外做汽配的网站
  • 哪些域名适合营销型网站网站海外推广公司
  • 衡阳网站建设价格国人原创wordpress cms模板:hcms
  • 小网站关键词公司网站怎么做网站备案
  • 网站建设规划书模板西安网站创建
  • 抖音做我女朋友的网站无代码开发原理
  • 做英文网站 用阿里服务器行吗新办公司网上核名在哪个网站做
  • 官方网站建设对比广东网站系统建设
  • 网站开发需求逻辑图专门做网站建设的公司
  • 网站建设广告背景图傻瓜式网站制作
  • 网站建设佰首选金手指十八上海企业网站制作多少钱
  • 凡科 做网站上海发布官网最新版
  • 建一个淘宝客网站要多少钱3g手机网站源码
  • 怎样做宣传网站网页游戏排行榜前十名3d
  • 餐饮网站建设优化建站电子插件加工厂生产线
  • 自己能制作免费网站吗网站专栏建设情况
  • 代刷网站只做软件吗seo的优化方向
  • 公司做网站 分录别人发我网站外链会降权我吗
  • 吴中区网站建设商务网站的特点
  • 冒用公司名做网站镇海区建设工程安监站网站
  • 网站建设小组的运营模式网站你应该明白我的意思吗
  • 网站怎么做分时wordpress清空演示数据
  • 深圳建站公司告诉你十个建站步骤济南网站建设泉诺
  • 门户网站有哪些企业网站建设用什么语言
  • 没有数据怎么做网站网站图片最大尺寸是多少