Amazon web services 如何在java代码中从经过身份验证的aws api网关api方法/url获取数据

Amazon web services 如何在java代码中从经过身份验证的aws api网关api方法/url获取数据,amazon-web-services,httpurlconnection,aws-api-gateway,Amazon Web Services,Httpurlconnection,Aws Api Gateway,我需要从ApiGateway api方法获取数据。我的API已部署,url类似于/问候语。“问候语”是我的资源名称,其中我有一个身份验证设置为aws\u iam的GET方法。 该方法返回一个json响应,我只想获取并返回该响应。在验证之前,以下代码足以获得响应: String url = "XXXX/greetings"; // xxxx is replaced by api url URL obj = new URL(url); con.setRequestMethod("GET"); //

我需要从ApiGateway api方法获取数据。我的API已部署,url类似于/问候语。“问候语”是我的资源名称,其中我有一个身份验证设置为aws\u iam的GET方法。

该方法返回一个json响应,我只想获取并返回该响应。在验证之前,以下代码足以获得响应:

String url = "XXXX/greetings"; // xxxx is replaced by api url
URL obj = new URL(url);
con.setRequestMethod("GET");

//add request header
con.setRequestProperty("User-Agent", USER_AGENT);

int responseCode = con.getResponseCode();

BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();

while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}

in.close();

//print response

注意:我知道我必须通过请求传递身份验证令牌,并且我可以使用AWS凭据通过Postman访问经过身份验证的API url。我的问题是如何在Java中实现这一点?

您可以在API上生成Java SDK并使用它调用API。您可以像在Postman中一样在客户端上设置凭据

下面是生成和使用带有API网关的Java SDK的指南

如果出于某种原因您不想使用生成的SDK,您可以自己阅读并这样做,或者使用第三方库,如前面提到的库