GraphQL 1.0.4

快速构建基于PHP的GraphQL服务

该模块是基于graphql-php用于构建PHPGraphQL服务,支持多个服务,内置多种directive指令,可快速构建GraphQL Api

创建GraphQL服务

任意模块下创建graphql目录,其下的每个子目录就是一个graphql服务,目录名称是其服务名称。如test模块下创建graphql/test目录,重启应用可以看到多了一个test服务
图片标注

创建Schemas

在服务目录(或子目录)下分别创建Type.graphql Query.graphql Mutation.graphql文件,如

  1. // Type.graphql
  2. type Article {
  3. id: Int
  4. title: String
  5. description: String
  6. created_at: Int
  7. create_time: String @alias(key: "created_at") @date
  8. }
  9. type ArticlePagination {
  10. pagination: Pagination
  11. data: [Article]
  12. }
  1. // Query.graphql
  2. articles(
  3. title: String
  4. ): ArticlePagination @model(name: "\\app\\cms\\model\\admin\\ArticleModel") @where(value: { title: ["like", "$title"] }) @paginate(perPage: 15)
  5. article(
  6. id: Int! @eq
  7. ): Article @model(name: "\\app\\cms\\model\\admin\\ArticleModel") @find

测试接口

图片标注
点击上图接口调试进入调试界面
图片标注

正式接口地址

正式接口地址为/graphql-api/服务名

更新历史
  • 1.0.4
    2023-3-18

    优化延迟加载
    修复指令@where一处错误

  • 1.0.3
    2023-3-16

    修复GraphQL Server查询前钩子未正确处理导致的内存泄漏
    修复设置权限不生效

  • 1.0.2
    2023-2-20

    后台新增 接口管理接口名称Query 建立映射关系,前端通过 POST /graphql-api/SERVER_NAME?api=接口名称 {variables: VARIABLES} 访问 GraphQL 接口。
    其他优化

  • 1.0.1
    2023-2-1

    新增支持UnionType,新增指令union, 例如

    1. union Poster @union(resolver: "resolverTypeFn") = User | Admin
  • 1.0.0
    2023-1-28
    首次发布
下载

模块信息
名称:GraphQL
标识:graphql
版本:1.0.4
作者:Admin

Ta的其他作品