用于向服务器发送avro / bytes POST请求的java示例

时间:2014-05-18 07:33:56

标签: java scala http rest avro

我有兴趣在avro/bytes请求中将POST(原始字节)发送到服务器。在手动编码我自己的任何内容之前我想查看一些现成的示例但尚未发现..任何人都有任何关于如何将avro/bytes编码POST请求正文发送到服务器的示例? (字节编码为avro/bytes不是base64 等)

1 个答案:

答案 0 :(得分:0)

将您的对象转换为avro然后转换为字节,然后您可以使用这个简单的方法(使用apache httpcore)来获取响应(此方法假定服务器响应带有json字符串)

 public static String postJSON(String uri, byte[] req) {
    String queryResponse = null;
    try {
        List<Header> httpHeaders = new ArrayList<Header>();
        httpHeaders.add(HttpClientUtil.ACCEPT_TEXT_HTML);
        HttpResponse response = HttpClientUtil.post(uri, req, ContentType.DEFAULT_BINARY, httpHeaders);
        HttpEntity entity = response.getEntity();

        queryResponse = EntityUtils.toString(entity);

    } catch (ClientProtocolException e) {
        logger.log(java.util.logging.Level.SEVERE, e.getMessage(), e);
    } catch (IOException e) {
        logger.log(java.util.logging.Level.SEVERE, e.getMessage(), e);
    }

    return queryResponse;
  }