przekonwertować wywołanie curl na wywołanie java urlconnection

Mam polecenie zwijania:

curl -i -u guest:guest -H "content-type:application/json"
-XPUT \ http://localhost:15672/api/traces/%2f/my-trace \
-d'{"format":"text","pattern":"#"}'

I chcę utworzyć żądanie HTTP w Java API, które zrobi to samo. To polecenie curl można znaleźć w tymREADME. Służy do rozpoczęcia nagrywania dziennika na RabbitMQ. Odpowiedź nie jest ważna.

Na razie stworzyłem coś takiego (usunąłem mniej ważne linie, tzn. Z przechwyceniem wyjątku itp.), Ale niestety to nie działa:

url = new URL("http://localhost:15672/api/traces/%2f/my-trace");
uc = url.openConnection();

uc.setRequestProperty("Content-Type", "application/json");
uc.setRequestProperty("format","json");
uc.setRequestProperty("pattern","#")
String userpass = "guest:guest";
String basicAuth = "Basic " + javax.xml.bind.DatatypeConverter.printBase64Binary(userpass.getBytes());
uc.setRequestProperty ("Authorization", basicAuth);

CAŁY KOD

questionAnswers(2)

yourAnswerToTheQuestion