gpt4 book ai didi

java - 在 Spring Boot Controller 中使用 GraphQL API

转载 作者:行者123 更新时间:2023-12-02 11:19:58 26 4
gpt4 key购买 nike

我需要在我的 Spring Boot Controller 中使用第三方提供的 graphQL API,我尝试了上述 here但出现 400 错误。下面是代码:

@SuppressWarnings("unchecked")
@RequestMapping(value = "/graphQLTest")
public ResponseEntity<?> testGraphQL() throws JsonProcessingException {

CloseableHttpClient client= null;
CloseableHttpResponse response= null;

client= HttpClients.createDefault();
HttpPost httpPost= new HttpPost("http://172.30.66.149:3000/graphql");

httpPost.addHeader("Accept","application/json");

try {
StringEntity entity= new StringEntity("{\"query\":\"{hello}\"}");

httpPost.setEntity(entity);
response= client.execute(httpPost);
System.out.println("response: "+response);
}

catch(UnsupportedEncodingException e){
e.printStackTrace();
}
catch(ClientProtocolException e){
e.printStackTrace();
}
catch(IOException e){
e.printStackTrace();
}

return null;
}

当我尝试在 Postman 中调用相同的 URL 时,我得到了响应,下面是屏幕截图:

enter image description here

但是当我在 Controller 中尝试它时,出现以下错误,任何人都可以帮我解决如何使用某人的 GraphQL API 吗?

错误:HttpResponseProxy{HTTP/1.1 400 错误请求 [X-Powered-By:Express,内容类型:application/json; charset=utf-8,内容长度:53,ETag:W/“35-1vperDe+r7EpHry/i+J3wg”,日期:2018 年 4 月 24 日星期二 12:32:52 GMT,连接:保持 Activity ] ResponseEntityProxy{ [内容类型:application/json; charset=utf-8,内容长度: 53,分块: false]}}

最佳答案

我只是尝试通过 jersey api 调用我的 graphQL API,如下所示,我能够获得响应。

@SuppressWarnings("unchecked")
@RequestMapping(value = "/graphQLTest")
public ResponseEntity<?> testGraphQL() throws JsonProcessingException {

JSONObject jsonObj = new JSONObject();
jsonObj.put("query", "{\n" +
" hello\n" +
"}");

Client client = Client.create();
String URL = "http://172.30.66.149:3000";
WebResource webResource = client.resource(URL);

ClientResponse response = webResource.type("application/json").accept("application/json").post(ClientResponse.class, jsonObj.toString());
String output = response.getEntity(String.class);
System.out.println(output);

return null;
}

是否有其他方法可以进行此调用,或者具体是 graphQL 方式?

关于java - 在 Spring Boot Controller 中使用 GraphQL API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50002241/

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