【发布时间】:2021-05-06 16:17:56
【问题描述】:
我有这个查询正在处理邮递员
query {
getInstallment(amount: "400", bin: "400000", userName: "guille") {
cardBrand
}
}
但是当我尝试使用 okHttpClient 执行此有效负载时
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/graphql");
RequestBody body = RequestBody.create(mediaType, "query {\n" +
"getInstallment(amount: \"400\", bin: \"400000\", userName: \"sbernal\") {\n" +
" cardBrand\n" +
"}}");
Request request = new Request.Builder()
.url("https://awsendpoint.appsync-api.us-east-1.amazonaws.com/graphql")
.post(body)
.addHeader("x-api-key", "dket")
.build();
Response response = client.newCall(request).execute();
System.out.println(response.code());
}
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/graphql");
RequestBody body = RequestBody.create(mediaType, "query {\n" +
"getInstallment(amount: \"400\", bin: \"400000\", userName: \"guille\") {\n" +
" cardBrand\n" +
"}}");
Request request = new Request.Builder()
.url("https://ziexbkvj5bghnnyicsbge737oa.appsync-api.us-east-1.amazonaws.com/graphql")
.post(body)
.addHeader("x-api-key", "da2-7utq5lkg5zcllodmlzp66dd3vy")
.build();
Response response = client.newCall(request).execute();
System.out.println(response.code());
}}
我得到一个错误 400,我做错了什么?我应该使用另一个 httpclient 吗?
【问题讨论】:
-
您收到什么错误信息?您可以在发送之前对有效负载进行 json 编码 ``` String query = "query {\n" + "getInstallment(amount: \"400\", bin: \"400000\", userName: \"guille\") {\n" + " cardBrand\n" + "}}" URLEncoder.encode(query) ```
-
@DhanialRizkyWiraPutra 我收到 400(错误请求)
-
你能展示一个与 chrome 命令类似的工作示例吗?
标签: java graphql httpclient okhttp aws-appsync