2016-11-23 2 views
-1

私はいくつかのソリューションを見つけることができましたが、私のために働いたソリューションはありませんでした。私はJavaを初めて使っていて、これまでJavaのカールでは成功していませんでした。curlコマンドはどのようにJavaコードに変換されますか?

curl -X POST -H "Content-Type: application/json" -o output.json --data-binary @input.json http://webaddress.com 

JSONファイル。

{ 
    "firstNumber": "00", 
    "secondNumber": "12", 
    "Type": "MyType", 
    "data": [0,0,0,0,0] 
} 

ご協力いただければ幸いです。

+1

あなたはそれを翻訳しないどのように何を意味するのですか? – Carcigenicate

+1

javaからカールを起動する方法や、カールの機能をjavaに複製する方法を尋ねていますか? – bradimus

+3

[curl呼び出しをjava urlconnection呼び出しに変換する]の可能な複製](http://stackoverflow.com/questions/15684846/convert-curl-call-into-java-urlconnection-call) –

答えて

0

最も簡単な方法は、javaからコマンドを起動することです:

Process proc = 
    run.exec(new String[] { 
    "/bin/sh", 
    "-c", 
    "curl -X POST -H 'Content-Type: application/json' -o output.json --data-binary @input.json http://webaddress.com" 
    }); 

/bin/shはあなたのシェルの場所です。 -cは、後にコマンドを実行します。

もちろん、何らかの文字列定数にコマンドを移動し、シェルパスが同じままであれば、コマンドを実行するためのユーティリティメソッドを抽出することもできます。私は春のRestTemplateとの良好な経験を持っていた

0

は、ここではサンプルです:

JSONObject request = new JSONObject(); 
request.put("attribute1", "value"); 
request.put("attribute2", "value2"); 

RestTemplate restTemplate=new RestTemplate(); 
HttpHeaders headers = new HttpHeaders(); 
headers.setContentType(MediaType.APPLICATION_JSON); 
HttpEntity<String> entity = new HttpEntity<String>(request.toString(), headers); 

ResponseEntity<String> loginResponse = restTemplate.exchange(urlString, HttpMethod.POST, entity, String.class); 
+0

返事ありがとう、文字列のように見えます。 curlコマンドから--data-binaryを使用するには、これをどのように変更しますか? – konopoly

+0

ファイルを読み込んで、ファイルに生のJsonが含まれている場合はStringに変換します。 –

関連する問題