Tôi có một cái gì đó như sau:
final String url = "http://example.com";
final HttpClient httpClient = new HttpClient();
final PostMethod postMethod = new PostMethod(url);
postMethod.addRequestHeader("Content-Type", "application/json");
postMethod.addParameters(new NameValuePair[]{
new NameValuePair("name", "value)
});
httpClient.executeMethod(httpMethod);
postMethod.getResponseBodyAsStream();
postMethod.releaseConnection();
Nó tiếp tục quay trở lại với 500. Nhà cung cấp dịch vụ nói rằng tôi cần gửi JSON. Điều đó được thực hiện như thế nào với Apache HttpClient 3.1+?
NameValuePair
chỉ thêm một tham số yêu cầu, bạn sẽ không gửi bất kỳ JSON nào trong mã của mình. Dịch vụ mong đợi nhận được cấu trúc JSON nào, dữ liệu của bạn sẽ gửi là gì? Bạn đang tìm kiếmpostMethod.setRequestEntity()
với mộtStringRequestEntity
có chứa JSON của bạn.