npm包@feathers-plus/graphql使用教程

阅读时长 4 分钟读完

简介

@feathers-plus/graphql是一个基于GraphQL技术的FeathersJS框架的npm包,它可以让开发人员更加便捷地实现GraphQL API的部署和后端接口的编写,非常适合前端工程师进行开发。

安装

安装完成后,你需要在你的FeathersJS项目中注册该插件。

配置

-- -------------------- ---- -------
------ -------- ---- -----------------------
------ ------- ---- ----------------------
------ ------- ---- -------------------------

----- --- - --------------------

-- -----------
-----------------------
    --------- ----
----

-- ----
-----------------

在上述代码中,我们使用了FeathersJS的内置express服务来启动我们的项目,并配置了graphql插件,并开启了graphiql调试模式。

使用

使用@feathers-plus/graphql非常简单,你只需要定义好GraphQL SchemaResolvers即可。接下来我们看一下具体的步骤。

定义Schema

Schema是定义GraphQL API的核心,所以我们需要定义好我们的Schema。下面是一个简单的例子:

-- -------------------- ---- -------
------ - -------------------- - ---- ----------------

-- --------
----- -------- - -
---- ----- -
    ------ ------
---

-- ------------
----- ------ - ----------------------
    --------
---

在上述代码中,我们通过调用makeExecutableSchema函数来创建可执行的GraphQL Schema实例。typeDefs参数是我们定义的Schema

定义Resolvers

Resolver是定义如何处理请求和响应的关键,因此我们需要定义好我们的Resolvers。下面是一个简单的例子:

在上述代码中,我们定义了一个简单的Resolver,它的作用是返回一个字符串"world"。

将Schema和Resolvers注入到GraphQL插件中

现在我们已经定义了我们的SchemaResolvers,现在我们将它们注入到GraphQL插件中:

示例

下面是一个完整的示例代码:

-- -------------------- ---- -------
------ -------- ---- -----------------------
------ ------- ---- ----------------------
------ ------- ---- -------------------------
------ - -------------------- - ---- ----------------

-- --------
----- -------- - -
---- ----- -
    ------ ------
---

-- ----------
----- --------- - -
    ------ -
        ------ -- -- -------
    -
--

-- ------------
----- ------ - ----------------------
    ---------
    ---------
---

----- --- - --------------------

-- --------------------------------
-----------------------
    --------- -----
    -------
    ---------
----

-- ----
-----------------

现在你可以在浏览器中访问http://localhost:3000/graphql进入GraphQL Playground界面,在界面中你可以通过执行hello查询将会返回字符串"world"。

总结

通过本篇文章的学习,我们已经学会如何使用@feathers-plus/graphql这个npm包来实现GraphQL API的部署和后端接口的编写,它可以让前端工程师更加轻松地完成一些前后端交互的开发任务。希望这篇文章能对您有所帮助。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/85577