如何使用Google HTTP Client执行POST,PUT和DELETE:
@Test
public void testGetDBs() throws IOException {
GooUrl url = new GooUrl(GOO_URL);
List<String> path = new LinkedList<String>();
path.add("users");
path.add("id1");
url.setPathParts(path);
url.fields = "";
HttpRequest request;
try {
request = requestFactory.buildGetRequest(url);
request.setMethod(HttpMethod.POST);
String result = request.execute().parseAsString();
System.out.println("Result = " + result);
} catch (Exception e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
假设我需要发布JSON字符串,该怎么做?另外,设置内容的长度和类型。
小智 5
您需要在执行之前构建适当的类型请求并设置其内容。
请注意,在示例代码中,您正在构建GET请求,然后将方法设置为POST,这很令人困惑。查看HttpRequestFactory代码,每个HTTP方法都有一个构建方法。尝试:
final request = requestFactory.buildPostRequest(url);
final byte [] contentBytes = ...//get some bytes!!
final HttpContent content = new ByteArrayContent("application/json", contentBytes );
request.setContent( content );
final String result = request.execute().parseAsString();
Run Code Online (Sandbox Code Playgroud)
似乎有几种不同的HttpContent类型可供选择(上面显示了ByteArrayContent),当然,如果发现它们不满足您的需求,则可以自己实现HttpContent接口。
| 归档时间: |
|
| 查看次数: |
3949 次 |
| 最近记录: |