3

私は Java と REST/REST についてかなり初心者です。「Transfer-Encoding: chunked」が設定された POST リクエストを (ヘッダー経由で) 作成しようとしていますが、「org.apache.http.ProtocolException: Transfer-encoding ヘッダーが既に存在します」という例外が発生します。

私が使用しているコードは次のようなものです。 testdata".getBytes()) .contentType(MediaType.APPLICATION_OCTET_STREAM) .log().all() .expect() .statusCode(HttpStatus.SC_OK) .post();

しかし、「org.apache.http.ProtocolException: Transfer-encoding ヘッダーが既に存在する」という例外が発生します。

例外が発生する理由/解決方法を知っている人はいますか?? 前もって感謝します。

4

1 に答える 1

0

昨日、私はオクタトストリームを使用することができました

given().urlEncodingEnabled(false)
            .config(RestAssured.config()
                    .encoderConfig(new EncoderConfig().appendDefaultContentCharsetToContentTypeIfUndefined(false)
                            .encodeContentTypeAs("application/octet-stream", ContentType.TEXT)))

REST Assure フレームワークが自動的に行うため、Transfer-encoding を追加する必要はありません。

自動的にエンコードするので urlEncodingEnabled が必要ですが、シリアライザーを使用する内部フレームワークとして encodeContentTypeAs が必要です。

これは、将来同様の問題に直面する可能性のある他の人を助けるかもしれません.

于 2017-10-04T17:08:51.727 に答える