В вызове PUT rest, используя curl, я бы хотел использовать опцию -d, что должно быть сигнатурой метода.Я использую Java.
curl -X PUT -u testUser 'http://hostname:port/method' -d @test.json -H "Content-Type: application/json"
Это должен быть мой локон при запуске.
Я написал сигнатуру метода, которая принимает строку в качестве ввода
@PUT @Path ("/test")
@Produces("application/json")
public Response method(String input) throws Exception {...}
КогдаЯ запускаю вышеуказанную команду, имея указанную выше сигнатуру метода - это ошибка.
Error processing command: java.lang.NullPointerException
Для ввода строки требуются данные в формате json.
{
"name" : "test",
"host" : "10.xx.xx.xx",
"port" : 22
.
.
} //around 15 values
, имеющие их в одном URL-адресе, подобном этому
"http://hostname:port/method?name=test&host=10.xx.xx.xx&port=22........."
делает URL-адрес довольно длинным, но работает.
Я бы хотел использовать опцию -d для отправки ввода json через файл.
Какой должна быть сигнатура метода для curl для работы с -d @ test.json в Java?
- Заранее спасибо.