npm 包 sails-graphql-2 使用教程

阅读时长 5 分钟读完

GraphQL 是一种用于 API 的查询语言,通过它可以轻松地定义数据的查询和变更操作。而Sails-graphql-2 是一个用于在Sails中使用GraphQL 的 npm 包。在本篇文章中,我会详细介绍如何使用 sails-graphql-2 这个包来构建一个 GraphQL API。

步骤

1. 安装 sails-graphql-2 包

2. 配置Sails

在Sails中配置连接数据库和设置模型之前,需要配置sails-graphql-2 。我们需要在 config/graphql.js 文件中定义一个GraphQL Schema 和对应的resolvers。以下是一个简单的例子:

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

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

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

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

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

3. 定义 Sails 模型

在这个例子中,我们需要为用户定义一个模型。在 /api/models/User.js 文件中,定义一个简单的用户模型。

4. 定义路由

config/routes.js 文件中添加一个路由来处理 GraphQL 请求。

5. 在控制器中处理请求

/api/controllers/graphql.js 文件中,添加如下代码:

6. 测试

现在我们可以使用 GraphQL Playground 或 Postman 来发送 POST 请求到 /graphql endpoint 测试我们的 API。以下是一个查询用户的示例:

7. 授权

sails-graphql-2 包支持 Sails 的 policies 机制。在 policy.js 文件中,定义一个policy 来授权用户。以下是一个简单的例子:

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

结论

通过这个简单的教程,你可以学习如何在 Sails 中使用 sails-graphql-2 包来构建一个 GraphQL API。同时,通过如何配置 Sails 和定义模型以及路由和控制器,你可以了解如何为新的项目提供基础的结构和授权机制。在实际项目中,你可以按照这个模式来扩展和优化你的 GraphQL API。

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

纠错
反馈