我正在努力理解通过我的Kotlin应用程序对GraphQL服务器进行POST API调用的方法。
我看了各种指南,比如:https://graphql.org/code/#java-kotlin和https://opensource.expediagroup.com/graphql-kotlin/docs/client/client-overview/,但我不知道如何实现它们。
首先,我不清楚初始构建配置,因为每个指南都提到build.gradle.kts文件,而我没有。我的gradel只是“build.gradle”,我不知道如何将其转换为“build.gradle.kts”。只需添加以下代码:
import com.expediagroup.graphql.plugin.gradle.graphql
plugins {
id("com.expediagroup.graphql") version $latestGraphQLKotlinVersion
}
dependencies {
implementation("com.expediagroup:graphql-kotlin-spring-client:$latestGraphQLKotlinVersion")
}
graphql {
client {
endpoint = "http://localhost:8080/graphql"
packageName = "com.example.generated"
}
}
向我返回错误:构建文件“C:\用户\claud\安卓工作室项目\共享谷\应用\构建版本. gradle”:1:无法解析类别com.expediagroup.graphql.plugin.gradle.graphql @第1行第1列。汇入com.expediagroup.graphql.plugin.gradle.graphql
此外,我习惯于通过Kotlin中的volley包调用API,有没有办法使用它来调用一个GraphQL API?
有没有人能给我提供一个工作的例子或者至少给我解释一下这个build.gradle.kts是如何工作的?
提前感谢。
1条答案
按热度按时间jw5wzhpr1#
看起来你这里有一些问题。
1.无法生成项目:没有
build.gradle.kts
文件也没关系。您可以使用build.gradle
文件。这只是意味着您使用不同的语言编写gradle脚本(可能是Groovy)。在这种情况下,您应该在dependencies块中使用以下语法。请注意单引号,没有括号。1.进行实际的GraphQL调用:GraphQL是一个协议,所以如果你的目标只是简单地对GraphQL服务器进行API调用,这里的客户端是不必要的。你可以写一个普通的Http请求。对于GraphQL,你应该用下面的结构构造一个
application/json
请求主体。更多信息https://graphql.org/learn/serving-over-http/EDIT附言:如果你想在整个Kotlin应用程序中使用GraphQL,你应该使用客户端。客户端有助于减少GraphQL配置样板代码,更重要的是,可以为你处理缓存。好的客户端应该这样做。