package com.ruoyi; import com.alibaba.fastjson2.JSONObject; import com.ruoyi.domain.vo.UseCaseUrlVO; import okhttp3.*; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import java.io.IOException; import java.util.List; @SpringBootTest public class TestUrl { @Test public void test() throws IOException { OkHttpClient client = new OkHttpClient().newBuilder() .build(); MediaType mediaType = MediaType.parse("application/json"); // 定义查询变量 String variables = "{ \"offset\": { \"offset\": 0, \"limit\": 10 }, \"orderBy\": { \"field\": \"displayID\", \"order\": \"DESC\" }, \"search\": \"Z\"}"; // 创建请求体 RequestBody body = RequestBody.create(mediaType, "{\"query\":\"query useCases($offset:OffsetConnectionInput$orderBy:OrderByInput$filter:Map$search:String){useCases(offset:$offset orderBy:$orderBy filterFields:$filter search:$search){nodes{id displayID class name description remediation requirements riskLevel}totalCount}}\",\"variables\":"+ variables +"}"); Request request = new Request.Builder() .url("http://10.12.48.80:8089/api/query") .method("POST", body) .addHeader("Content-Type", "application/json") // .addHeader("Host", "10.12.48.80:8089") // .addHeader("Origin", "http://10.12.48.80:8089") // .addHeader("Referer", "http://10.12.48.80:8089/api/graphql/playground") // .addHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36") .build(); Response response = client.newCall(request).execute(); String string = response.body().string(); JSONObject jsonObject = JSONObject.parseObject(string); List<UseCaseUrlVO> list = jsonObject.getJSONObject("data").getJSONObject("useCases").getList("nodes", UseCaseUrlVO.class); list.forEach(item -> { System.out.println("item = " + item); }); } }