gpt4 book ai didi

android - 使用 OkHttp 客户端执行原始 graphQL 查询

转载 作者:行者123 更新时间:2023-12-04 23:49:16 25 4
gpt4 key购买 nike

我有一个 graphQL 查询,我想将其作为原始请求执行,并且不想依赖任何客户端来执行此请求(我不想使用 apollo 客户端 for android 来执行它)

我已经创建了形成此查询的字符串并尝试使用 OkHttp 客户端发出此请求,但我认为由于每次发送请求时响应都是内部服务器错误而丢失了一些东西。但是,如果我使用 apollo-client for android 执行此查询,它会返回响应。

这是我使用 OkHttp 执行原始查询请求的尝试:

val requestBodyString = "  cities{\n" +
" name\n" +
" }"

fun makeRequest(url: String): Response{
val client = OkHttpClient()
val requestBody = RequestBody.create(null, requestBodyString)
val request = Request.Builder().url(url).post(requestBody)
.addHeader("content-type", "application/graphql").build()
return client.newCall(request).execute()
}

我关注 yelp documentation用于提出请求,但对我不起作用。我不知道为什么?

最佳答案

尝试以 JSON 格式发送

    val query = "  cities{\n" +
" name\n" +
" }"

fun makeRequest(url: String): Response{
val client = OkHttpClient()

val json = JSONObject()
json.put("query",query)

val requestBody = RequestBody.create(null, json.toString())
val request = Request.Builder().url(url).post(requestBody)
.addHeader("content-type", "application/json").build()
return client.newCall(request).execute()
}

关于android - 使用 OkHttp 客户端执行原始 graphQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58922497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com