Я добавляю новую функцию на сервер, который использует джерси REST. Я хочу разместить данные в двоичном виде. Я просто добавил:
@POST
@Path('/mypath')
public void Foo(@QueryParam("var"), InputStream is) {
int data[8];
data[0] = is.read();
data[1] = is.read();
}
Затем я запускаю следующую команду:
cat test.bin | curl -X POST -H 'Content-type:image/jpeg' -d @- http://localhost:8080/path/mypath?var=ok
Когда я прохожу отладчик, первый байт действительно является первым байтом test.bin
. Однако при втором чтении возвращается -1, что указывает на то, что в потоке больше нет данных. Я неправильно использую curl
? Есть какие-то другие настройки для провайдера, которые мне нужно сделать? Другие параметры конфигурации? Кажется, мне не нужно @Consumes("*/*")
, потому что он должен делать это по умолчанию.