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