Чтобы принять -d @json, как должен быть написан метод put в остальных API - PullRequest
0 голосов
/ 25 января 2019

В вызове 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?

- Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...