ジャージーRESTを使用するサーバーに新しい関数を追加しています。私はバイナリとしてデータを投稿したい。私は単純に追加しました:私は、デバッガをステップ実行すると、最初のバイトが実際にtest.bin
の最初のバイトであるジャージーのInputStream RESTは1バイトだけを返します
cat test.bin | curl -X POST -H 'Content-type:image/jpeg' -d @- http://localhost:8080/path/mypath?var=ok
:
@POST
@Path('/mypath')
public void Foo(@QueryParam("var"), InputStream is) {
int data[8];
data[0] = is.read();
data[1] = is.read();
}
は、それから私は、次のコマンドを実行します。ただし、2回目の読み取りでは、ストリームにデータがないことを示す-1が返されます。 curl
を間違って使用していますか?私がする必要があるプロバイダのためのいくつかの他のセットアップはありますか?他の設定パラメータ?それはデフォルトでそれを行う必要があるので、私は@Consumes("*/*")
を必要としないようです。
本当に問題だった--data-binaryが見つかりませんでした。 -vvも非常に役に立ちます。 – RunHolt