2017-11-09 18 views
1
ゲット

人々...RestTemplate簡単な例

カールライン:curl https://api.storify.com/v1/stories/storify

がstorifyから長いJSONレスポンスを生成します。

@Test 
public void test() { 
    RestTemplate template = new RestTemplate(); 
    URI uri=URI.create("https://api.storify.com/v1/stories/storify"); 
    ResponseEntity<String> response = template.getForEntity(uri,String.class); 
    System.out.println("<<<<<<<<<<"); 
    System.out.println(response.getStatusCode()+" "+response.hasBody()); 
    System.out.println("<<<<<<<<<<"); 

    String text = response.getBody(); 
    System.out.println(response.getBody()); 
    System.out.println("<<<<<<<<<<"); 
} 

得られたステータスコードは200で、hasBody()は事実ですが、getBody()は何もなく、一見、空行を返すされていません:春のRestTemplateにこれを変換する私の試みは、このようになります。 RestTemplateを使用してカールの結果を複製するにはどうすればよいですか?プロキシの背後にある場合

おかげで、 GeePaw

+0

が、これは何も変わりませんか? –

答えて

0

それは私のために働いている、しかし、あなたは、次のコードを実行してみることができますが、(オフィスのネットワークとすることがあります)また

RestTemplate restTemplate = new RestTemplate(); 
String result = restTemplate.getForObject("https://api.storify.com/v1/stories/storify", String.class); 
System.out.println(result); 

を助けるかもしれません、その後、RestTemplateにプロキシの詳細を追加することを忘れないでください。ポート番号のホストとして「10.1.2.3」を追加するための抜粋です。 80

SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory(); 
InetSocketAddress address = new InetSocketAddress("10.1.2.3", 80); 
Proxy proxy = new Proxy(Proxy.Type.HTTP,address); 
factory.setProxy(proxy); 

restTemplate.setRequestFactory(factory); 
0

私はついにこれを手に入れました。サポートのおかげで、Piyush、あなたは本当にだった私に自信を与えたちょうど私でした。

アップショット:アメーバは大丈夫だった、私の顕微鏡はひびが入った。 printlnからの出力はJSONの大量の単一行です。 Eclipseから印刷していました。 Eclipseコンソールは、通常のシェルのように、そのようなことを処理しません。 Eclipse私には何も与えられていないので出力がありません。シェルで実行すると、このバリアントでうまく動作し、おそらく私が試した他の15種類も可能です。あなたは文字列のテキストをプリントアウトして呼び出すgetBody二度目のドント場合:)

おかげで、 GeePaw