1
我正在向使用澤西REST的服務器添加一個新的函數。我想以二進制形式發佈數據。我只是說:Jersey中的InputStream 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("*/*")
,因爲它應該是默認的。
我錯過了--data-binary,這確實是問題所在。 -vv也很有幫助,thx! – RunHolt 2012-03-13 01:32:05