1

我正在尝试为使用 HTTP GET、POST、PUT 和 DELETE的Gengo APIHttpClient编写 Java 客户端(使用 Apache ) 。但是,对于它们公开的每个 RESTful API“方法”,您必须将 API 密钥和签名作为“参数”传递。

这是否意味着查询字符串参数、POST 变量、键值对标头或其他内容?

我想我只是对所有这些不同 HTTP 请求方法的上下文中的“参数”一词的含义感到困惑。换句话说,当我可以使用 GET、POST、PUT 或 DELETE 时,我如何将 API 密钥作为“参数”传递给他们的 API?我的理解是只有 HTTP GET 可以处理查询字符串参数,而 HTTP POST 只能处理 POST 变量。而且我以前从未使用过 PUT 或 DELETE,所以我不确定它们需要什么。

所以我问:我可以使用什么机制通过所有4种请求方法发送API密钥/签名,或者它们都支持查询字符串参数的处理?提前致谢。

4

2 回答 2

1

你可以试试这个。它适用于我的带有 POST 请求的 HttpClient 应用程序。

DefaultHttpClient httpClient = new DefaultHttpClient();
httpClient.getParams().setParameter(name, value);
......

例如,我设置了连接超时:

httpClient.getParams().setIntParameter(HttpConnectionParams.CONNECTION_TIMEOUT, httpTimeout);

然后,发送(执行)请求:

HttpResponse response = httpClient.execute([My HttpPost instance was here, but I think you can use HttpGet, HttpPut, and HttpDelete here as well]);
于 2012-12-27T16:28:45.960 回答
0

所有动词都可以使用请求参数(也称为查询参数),并且无论您是否还发送正文,它们都将以相同的方式提供给服务器。

在您的示例(Gengo)中,页面上有一个关于authentication的好示例。

于 2012-12-27T15:56:57.267 回答