我正在用 Java 编写一个简单的 REST 客户端,它将请求发送到服务器并检索一些数据。服务器使用令牌进行授权,该令牌必须包含在标头中(根据文档)。
问题是我不确定如何正确地重写它。我有一个curl
运行良好的命令:
curl --include --header "authorization:a7b857f6.....rest of my token" --header "Content-Type: application/json" https://serverUrl/v1/search?q=someQuery
此请求返回正确的答案(在这种情况下,给定查询的一些结果)。
我试图用 Java 重写它,但我得到“404 - 虽然找不到资源”,但查询是一样的。
public void getResultsByQuery() {
Client client = ClientBuilder.newClient();
Response response = client
.target("https://serverUrl")
.path("/v1/search?q=someQuery")
.request("application/json")
.header("Content-Type", "application/json")
.header("authorization", "a7b857f6-........rest of my token")
.get();
System.out.println("status: " + response.getStatus());
System.out.println("headers: " + response.getHeaders());
System.out.println("body:" + response.readEntity(String.class));
}
如果我错过了什么,你能给我一个提示吗?这可能是一个愚蠢的错误,但我花了几个小时试图让它工作,我一无所知。