2017-04-07 9 views
-3

REST POSTコールをHttpConnectionのJavaで非同期で呼び出すライブラリを試しました。私は多くのオープンソースライブラリを試してきましたが、それらのどれも私の目的に役立たないようです。コアJavaでこれを行う方法はありますか?あなたの要件や期待を知らずJavaでPOST REST呼び出しを非同期的に行う方法

+2

を使用して行うことができる方法を示して適切なエラー処理せずに、簡単な例です。 ://jersey.java.net/documentation/latest/async.html –

+0

また、nettyまたはapacheのHTTPコンポーネントasyncクライアントを使用することもできます –

+0

あなたの期待は何ですか?また、あなたが試したライブラリはなぜあなたの期待を満たしませんでしたか?あなたの要件は何ですか? – andih

答えて

1

: ます。https:

ここ

は非同期HTTP呼び出しちょうどジャージーフレームワークを使用するJava 8

public static void main(String ... args) throws InterruptedException, ExecutionException, TimeoutException { 
    Future<Object> futureResult = getObjectAsync(); 

    Object value = futureResult.get(500, TimeUnit.MILLISECONDS); 
} 

public static Future<Object> getObjectAsync() { 
    return CompletableFuture.supplyAsync(() -> doHttpCall()); 
} 

static Object doHttpCall() { 
    try { 
     HttpURLConnection urlConnection = 
      (HttpURLConnection) new URL("http://example.net/something").openConnection(); 
      urlConnection.setRequestMethod("POST"); 
     try (OutputStreamWriter out = new OutputStreamWriter(urlConnection.getOutputStream())) { 
      out.write("params as json"); 
     } 

     try (InputStreamReader in = new InputStreamReader(urlConnection.getInputStream())) { 
      // convert to Object 
      return new Object(); 
     } 

    } catch (IOException e) { 
     throw new RuntimeException(e); 
    } 
} 
関連する問題