Ktor和GraphQL_ktor 创建

使用KGraphQL丰富的DSL来设置GraphQL模式。
围绕内置数据执行基本操作(查询和变异)。

什么是GraphQL?

GraphQL是API的查询语言,也是处理查询的服务器端运行时。把GraphQL看作是现有API或数据库的外观。GraphQL还利用类型系统来定义后备数据。GraphQL没有绑定到任何特定的数据库或存储引擎。相反,它是由您现有的代码和数据支持的。

API开发人员使用GraphQL创建架构描述客户机可以通过该服务查询的所有可能的数据。你可以定义一个对象的类型和类型。作为查询来吧,GraphQL根据模式验证查询。然后,GraphQL执行已验证的查询。API开发人员将模式中的每个字段附加到名为分解器。在执行期间,调用解析程序以生成值。您将在本教程的后面创建解析器。

区分GraphQL和REST

GraphQL和REST的主要区别在于REST是基于网络的软件的一个体系结构概念。另一方面,GraphQL是一种查询语言、规范和一组工具,它使用HTTP在单个端点上操作。
但它们也有相似之处。它们都以JSON格式向前端客户机提供信息,并有方法识别某个操作是否要读或写数据。两者最后都会调用服务器上的函数来执行不同类型的请求。
REST往往有多个端点,GraphQL只有一个端点。

什么是Ktor?

Ktor是一个用于轻松构建连接应用程序的框架,包括移动应用程序、web应用程序、浏览器应用程序和桌面应用程序。Ktor应用程序是用Kotlin编写的,使开发人员能够快速构建异步web应用程序。

与Ktor一起发展的一些更显著的原因包括:

轻量级:使用你需要的。Ktor允许您透明地配置项目所需的功能。
可扩展:扩展您需要的。通过一个可配置的管道,您可以创建所需的扩展,并将它们放在任何您想要的地方。
跨平台:在需要的地方运行。使用Kotlin多平台技术从头开始构建,您可以在任何地方部署Ktor应用程序。
异步:根据需要缩放。使用Kotlin协程,Ktor是真正的异步和高度可伸缩的。
开发项目
GraphQL能够与各种数据源交互,包括数据库、REST端点等……但是,为了管理本教程的范围,您将使用存储在内存中的数据。在IDE中打开starter项目之后,第一步是在公开GraphQL模型之前设置对象模型类。

设置模型类

在创建GraphQL模式之前,有必要定义服务将公开的对象模型。然后,创建型号.kt归档模型目录。删除为您创建的任何Models类并替换为:

// 1
enum class Position {
  GK, // Goalkeeper
  DEF, // Defender
  MID, // Midfielder
  FRW  // Forward
}

// 2
data class Player(var uid: String, var name: String, var team: String, var position: Position)

// 3
data class PlayerInput(val name: String, val team: String, val
  • 14
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值